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(); } } }
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); } } }