Exemple #1
0
        protected override void UpdateTime()
        {
            switch (timeType)
            {
            case TimeType.hhmmss:
                hour    = RemainingTimeInt / 3600;
                minute  = RemainingTimeInt % 3600 / 60;
                second  = RemainingTimeInt % 60;
                timeStr = (hour > 9 ? "" : "0") + hour + (minute > 9 ? ":" : ":0") + minute + (second > 9 ? ":" : ":0") + second;
                break;

            case TimeType.mmss:
                minute  = RemainingTimeInt % 3600 / 60;
                second  = RemainingTimeInt % 60;
                timeStr = (minute > 9 ? "" : "0") + minute + (second > 9 ? ":" : ":0") + second;
                break;

            case TimeType.ss:
                timeStr = RemainingTimeInt > 9 ? RemainingTimeInt.ToString() : "0" + RemainingTimeInt;
                break;

            default:
                timeStr = string.Empty;
                break;
            }

            if (null != timeText)
            {
                timeText.text = timeStr;
            }

            if (onUpdate != null)
            {
                onUpdate.Invoke(RemainingTimeInt, timeStr);
            }

            if (RemainingTimeInt <= 0)
            {
                if (OnCompletedAction != null)
                {
                    OnCompletedAction.Invoke();
                }
                IsCompleted = true;
            }
        }
Exemple #2
0
        public override void Update()
        {
            //已完成 || 已取消 || Text脚本已经被销毁
            if (IsDone)
            {
                return;
            }
            if (IsPaused)
            {
                return;
            }

            passedTime += TimerConfig.DELTA_TIME;
            if (passedTime < IntervalsTimeInt)
            {
                return;
            }

            passedTime       -= IntervalsTimeInt;
            RemainingTimeInt -= IntervalsTimeInt;

            switch (timeType)
            {
            case TimeType.hhmmss:
                hour    = RemainingTimeInt / 3600;
                minute  = RemainingTimeInt % 3600 / 60;
                second  = RemainingTimeInt % 60;
                timeStr = (hour > 9 ? "" : "0") + hour + (minute > 9 ? ":" : ":0") + minute + (second > 9 ? ":" : ":0") + second;
                break;

            case TimeType.mmss:
                minute  = RemainingTimeInt % 3600 / 60;
                second  = RemainingTimeInt % 60;
                timeStr = (minute > 9 ? "" : "0") + minute + (second > 9 ? ":" : ":0") + second;
                break;

            case TimeType.ss:
                timeStr = RemainingTimeInt > 9 ? RemainingTimeInt.ToString() : "0" + RemainingTimeInt;
                break;

            default:
                timeStr = string.Empty;
                break;
            }

            if (HasMonoOwner && null == MonoOwner)
            {
                Debug.LogWarning("[TimerBase]    MonoBehaviour owner has been destroyed.");
                IsAutoKilled = true;
            }

            if (null != timeText)
            {
                timeText.text = timeStr;
            }

            if (onUpdate != null)
            {
                onUpdate.Invoke(RemainingTimeInt, timeStr);
            }

            if (RemainingTimeInt <= 0)
            {
                if (OnCompletedAction != null)
                {
                    OnCompletedAction.Invoke();
                }
                IsCompleted = true;
            }
        }