private void Start() { taskGenerateTimer = timeTillTaskGenerate; if (generateOnStartup) { taskList.AddTask(GenerateTask()); } }
private void CreateRunFromFireTask() { debugHolder.Log("Started creating fire task", eDebugImportance.Unimportant); RoomInformation selectedRoom = roomGraph.FindRoomFromStartMatching((x) => x >= 3, currentRoom.ID); if (selectedRoom != null) { hasCreatedFireTask = true; WalkTask walkTask = new WalkTask("Walk-RunFromFire", TaskScope.Personal, selectedRoom.GetRandomSpotInsideRoom, 10, 0, false, 2, () => { hasCreatedFireTask = false; debugHolder.Log("I am done running", eDebugImportance.Important); return(true); }); personalTasks.AddTask(walkTask); debugHolder.Log("Created Fire Task", eDebugImportance.Unimportant); isOnFire = false; } else { debugHolder.Log("Could not find a room to create the fire task", eDebugImportance.Error); WanderTask wanderTask = new WanderTask("Panic", TaskScope.Personal, currentRoom.GetRandomSpotInsideRoom, () => isOnFire, 10, 0, false, 2, 4, eAnimationType.Panic, CreatePanicTaskIfStillOnFire); AddNewTask(wanderTask); isOnFire = true; } }
private void ReturnSelectedTaskToTaskList() { currentTask.GetTaskInformation = currentTask.GetTaskInformation + " Returned"; switch (currentTask.GetTaskScope) { case TaskScope.Global: globalTasks.AddTask(currentTask); break; case TaskScope.Personal: personalTasks.AddTask(currentTask); break; } currentTask = null; }