Esempio n. 1
0
    protected override void Execute(List <GameEntity> entities)
    {
        GameEntity[] tasks = Cooldowns.GetTimedActions(gameContext);
        var          date  = ScheduleUtils.GetCurrentDate(gameContext);

        for (var i = tasks.Length - 1; i >= 0; i--)
        {
            var t    = tasks[i];
            var task = t.timedAction;

            var EndTime = task.EndTime;

            if (t.isTask)
            {
                if (date >= EndTime && !task.isCompleted)
                {
                    Cooldowns.ProcessTask(task, gameContext);
                    t.timedAction.isCompleted = true;
                }
            }


            //
            if (date > EndTime)
            {
                t.Destroy();
            }
        }
    }
Esempio n. 2
0
    void ProcessTimedActions(int date)
    {
        GameEntity[] tasks = Cooldowns.GetTimedActions(gameContext);

        for (var i = tasks.Length - 1; i >= 0; i--)
        {
            try
            {
                var t    = tasks[i];
                var task = t.timedAction;

                var endTime = task.EndTime;

                if (t.isTask)
                {
                    if (date >= endTime && !task.isCompleted)
                    {
                        Cooldowns.ProcessTask(task, gameContext);
                        t.timedAction.isCompleted = true;
                    }
                }


                //
                if (date > endTime)
                {
                    t.Destroy();
                }
            }
            catch (Exception ex)
            {
                Debug.Log("Error in task processing system");
                Debug.Log(ex);
            }
        }
    }