天津23维预案
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

76 lines
2.2 KiB

using UnityEngine;
using System.Collections;
using System;
using UnityEngine.UI;
using AX.MessageSystem;
public class TimeManager : MonoBehaviour {
public static float RemainSeconds = -10;//记录当前考试的剩余时间
public static ExaminationInfo CurExam = null;//记录当前正在作答的考试
public static QuestionInfo CurQues = null;//记录当前选中的考题
public static float TipTime = 30;
public static DateTime LastTime;
public static event EventHandler TimeOutEvent;
void Awake()
{
switch (ExamInfoHelpClass.loadSceneMode)
{
case ExamInfoHelpClass.LoadSceneMode.ExamineMode:
case ExamInfoHelpClass.LoadSceneMode.CheckAnswer:
TipTime = 30;
break;
case ExamInfoHelpClass.LoadSceneMode.MakeScore:
TipTime = 0;
break;
default:
TipTime = 100000;
break;
}
var deltaTime = DateTime.Now - LastTime;
RemainSeconds -= (float)deltaTime.TotalSeconds;
}
void Update()
{
if (RemainSeconds > TipTime)
{
RemainSeconds -= Time.deltaTime;
if (RemainSeconds < 3600)//倒数一小时开始显示时间
{
if (!transform.Find("TimeManager").gameObject.activeInHierarchy)
{
transform.Find("TimeManager").gameObject.SetActive(true);
}
ShowTimeAccordingSeconds((int)RemainSeconds);
}
}
else//考试时间结束,自动交卷
{
if (TimeOutEvent != null)
{
TimeOutEvent(this, EventArgs.Empty);
}
}
}
void ShowTimeAccordingSeconds(int second)
{
var hour = second / 3600;
var min = (second % 3600) / 60;
var sec = (second % 3600) % 60;
transform.Find("TimeManager").Find("Time/Second").GetComponent<Text>().text = hour + ":" + min + ":" + sec;
}
void OnDestroy()
{
if (TimeOutEvent != null)
{
TimeOutEvent = null;
}
TipTime = 30;
}
}