public (bool, Task) TryAddTask(TaskStructure task) { if (task == null) { Logger.Log("Task is null.", Enums.LogLevels.Warn); return(false, null); } if (TaskFactoryCollection.Count > 0) { foreach (TaskStructure t in TaskFactoryCollection) { if (t.TaskIdentifier.Equals(task.TaskIdentifier)) { Logger.Log("Such a task already exists. cannot add again!", Enums.LogLevels.Warn); return(false, t.Task); } } } TaskFactoryCollection.Add(task); OnTaskAdded(TaskFactoryCollection.IndexOf(task)); Logger.Log("Task added.", Enums.LogLevels.Trace); return(true, task.Task); }
public bool TryRemoveTask(float taskId) { if (TaskFactoryCollection.Count <= 0) { return(false); } foreach (TaskStructure task in TaskFactoryCollection) { if (task.TaskIdentifier.Equals(taskId)) { PreviousRemovedTask = task; TaskFactoryCollection.Remove(task); Logger.Log($"task with identifier {taskId} has been removed from the queue.", Enums.LogLevels.Trace); OnTaskRemoved(PreviousRemovedTask); return(true); } } return(false); }