Exemplo n.º 1
0
    void ChangeTimeWithType(ref float delay, EPETimeUnit timeUnit)
    {
        //时间单位换算 最小毫秒
        if (timeUnit != EPETimeUnit.Millisecond)
        {
            switch (timeUnit)
            {
            case EPETimeUnit.Second:
                delay = delay * 1000;
                break;

            case EPETimeUnit.Minute:
                delay = delay * 1000 * 60;
                break;

            case EPETimeUnit.Hour:
                delay = delay * 1000 * 60 * 60;
                break;

            case EPETimeUnit.Day:
                delay = delay * 1000 * 60 * 60 * 24;
                break;

            default:
                LogInfo("Add Task TimeUnit Type error");
                break;
            }
        }
    }
Exemplo n.º 2
0
    /// <summary>
    /// 添加一个计时器
    /// </summary>
    /// <param name="callBack"></param>
    /// <param name="delay"></param>
    /// <param name="count"></param>
    /// <param name="timeUnit"></param>
    /// <returns></returns>
    public int AddTimeTask(Action callBack, float delay, int count = 1, EPETimeUnit timeUnit = EPETimeUnit.Millisecond)
    {
        int tid = GetTid();

        ChangeTimeWithType(ref delay, timeUnit);
        //从游戏开始到现在的时间
        nowTime = GetUTCMilliseconds();

        tmpTimes.Add(new PETimeTask(tid, nowTime + delay, callBack, delay, count));
        return(tid);
    }
Exemplo n.º 3
0
    /// <summary>
    /// 替换
    /// </summary>
    /// <param name="tid"></param>
    /// <param name="callBack"></param>
    /// <param name="delay"></param>
    /// <param name="count"></param>
    /// <param name="timeUnit"></param>
    /// <returns></returns>
    public bool ReplaceTimeTask(int tid, Action callBack, float delay, int count = 1, EPETimeUnit timeUnit = EPETimeUnit.Millisecond)
    {
        ChangeTimeWithType(ref delay, timeUnit);
        //从游戏开始到现在的时间
        nowTime = GetUTCMilliseconds();
        PETimeTask newTask = new PETimeTask(tid, nowTime + delay, callBack, delay, count);

        return(ReplaceTask <PETimeTask>(tid, taskTimes, tmpTimes, newTask));
    }
Exemplo n.º 4
0
    /// <summary>
    /// 替换 不涉及数据增删不用去改 自己改的慢就完蛋
    /// </summary>
    /// <param name="tid"></param>
    /// <param name="callBack"></param>
    /// <param name="delay"></param>
    /// <param name="count"></param>
    /// <param name="timeUnit"></param>
    /// <returns></returns>
    public bool ReplaceTimeTask(int tid, Action <int> callBack, float delay, int count = 1, EPETimeUnit timeUnit = EPETimeUnit.Millisecond)
    {
        ChangeTimeWithType(ref delay, timeUnit);
        //从游戏开始到现在的时间
        nowTime = GetUTCMilliseconds();
        PETimeTask newTask = new PETimeTask(tid, nowTime + delay, callBack, delay, count);

        bool isRep = false;

        for (int i = 0; i < taskTimes.Count; i++)
        {
            if (taskTimes[i].tid == tid)
            {
                taskTimes[i] = newTask;
                isRep        = true;
                break;
            }
        }

        if (!isRep)
        {
            for (int i = 0; i < tmpTimes.Count; i++)
            {
                if (tmpTimes[i].tid == tid)
                {
                    tmpTimes[i] = newTask;
                    isRep       = true;
                    break;
                }
            }
        }
        return(isRep);
    }
Exemplo n.º 5
0
 /// <summary>
 /// 替换
 /// </summary>
 /// <param name="tid"></param>
 /// <param name="callBack"></param>
 /// <param name="delay"></param>
 /// <param name="count"></param>
 /// <param name="timeUnit"></param>
 /// <returns></returns>
 public bool ReplaceTimeTask(int tid, Action callBack, float delay, int count = 1, EPETimeUnit timeUnit = EPETimeUnit.Millisecond)
 {
     return(pt.ReplaceTimeTask(tid, callBack, delay, count, timeUnit));
 }
Exemplo n.º 6
0
 /// <summary>
 /// 添加一个计时器
 /// </summary>
 /// <param name="callBack"></param>
 /// <param name="delay"></param>
 /// <param name="count"></param>
 /// <param name="timeUnit"></param>
 /// <returns></returns>
 public int AddTimeTask(Action callBack, float delay, int count = 1, EPETimeUnit timeUnit = EPETimeUnit.Millisecond)
 {
     return(pt.AddTimeTask(callBack, delay, count, timeUnit));
 }