using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System;
using GCGame.Table;

public class ImperialExamWaitPanelCtr : MonoBehaviour {

    public static ImperialExamWaitPanelCtr Instance;
    private void Awake()
    {
        Instance = this;
    }
    private void OnDestroy()
    {
        Instance = null;
    }


    public Text CountTimeText;  //计时器
    public bool isCountTime = false;
    public  float CountTime = 0;
    public int WaitTime;

    //报完名之后开启等待面板  同时开始计时
    public void StartCountTime(int remainTime)
    {
        WaitTime = remainTime;
        isCountTime = true;
    }

    // Use this for initialization
    private void OnEnable()
    {
        StartCountTime(GetImperialExamOverTime());  //开始计时
    }

    //计算剩余时间
    public int GetImperialExamOverTime()
    {
        //结束时间
        var activityBase = ActivityDataManager.Instance.GetActivityTabByServerType(ActivityDataManager.Activity_Type.ACTIVITY_HUISHI);

        int openHour = int.Parse(activityBase.GetTimebyIndex(0).Split('|')[0]) / 100;
        int openMin = int.Parse(activityBase.GetTimebyIndex(0).Split('|')[0]) % 100;
        var questionOther = TableManager.GetQuestionOtherByID(1, 0);
        DateTime DateStarTime = new System.DateTime(1970, 1, 1).ToLocalTime();
        DateTime DateOverTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, openHour, openMin, 0);
        return Convert.ToInt32((DateOverTime - DateStarTime.AddSeconds(GlobalData.ServerAnsiTime)).TotalSeconds) + questionOther.WaitTime;
    }

    // Update is called once per frame
    void Update () {
	    if(isCountTime)
        {
            //判断剩余时间
            if (WaitTime <= 0)
            {
                CountTimeText.text = "0";
                isCountTime = false;
                return;
            }

            CountTime += Time.deltaTime;
            if(CountTime >= 1.0f)
            {
                WaitTime--;
                //显示剩余时间
                CountTimeText.text = WaitTime.ToString();

                //重置计时器
                CountTime = 1.0f - CountTime;
            }
        }
	}

    public void CloseCurWindow()
    {
        UIManager.CloseUI(UIInfo.ImperialExamWaitPanel);
    }

}