Esempio n. 1
0
        /// <summary>
        /// 初始化计数器.
        /// </summary>
        /// <param name="iMaxValue">最大值.</param>
        /// <param name="iType">类型.</param>
        /// <param name="iMode">模式.</param>
        public override void InitCounter(
            T iMaxValue,
            TCounterType iType,
            TCounterMode iMode = TCounterMode.CountDown)
        {
            this.MaxValue = iMaxValue;
            this.Type     = iType;
            this.Mode     = iMode;

            this.State = TCounterState.Idle;

            switch (this.Mode)
            {
            case TCounterMode.CountDown:
            {
                this.Value = this.MaxValue;
            }
            break;

            case TCounterMode.CountUp:
            {
                this.Value = default(T);
            }
            break;

            default:
                break;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 创建时间计数器.
        /// </summary>
        /// <param name="iMaxValue">计数器最大值.</param>
        /// <param name="iOnCountOver">超过计时回调函数.</param>
        /// <param name="iMode">模式(默认为:倒计时).</param>
        public static TimeCounter Create(
            float iMaxValue,
            System.Action iOnCountOver = null,
            TCounterMode iMode         = TCounterMode.CountDown)
        {
            TimeCounter objRet = new TimeCounter();

            if (objRet != null)
            {
                objRet.InitCounter(iMaxValue, TCounterType.TimeCounter, iMode);
                if (iOnCountOver != null)
                {
                    objRet.OnCountOver += iOnCountOver;
                }
                return(objRet);
            }
            else
            {
                UtilsLog.Error("TimeCounter", "Create()::TimeCounter Create Failed!!!");
                return(null);
            }
        }
Esempio n. 3
0
 /// <summary>
 /// 初始化计数器.
 /// </summary>
 /// <param name="iMaxValue">最大值.</param>
 /// <param name="iType">类型.</param>
 /// <param name="iMode">模式.</param>
 public abstract void InitCounter(
     T iMaxValue, TCounterType iType,
     TCounterMode iMode = TCounterMode.CountDown);