public void AddTask(ApplianceKey key, string text) { if (m_TaskLayoutGroup == null) { m_TaskLayoutGroup = GameObject.FindWithTag("task_layout_group"); } Debug.Assert(m_TaskLayoutGroup != null); GameObject task = Instantiate(m_TaskUIPrefab, m_TaskLayoutGroup.transform); TaskUI ui = task.GetComponent <TaskUI>(); Debug.Assert(ui != null); ui.m_ApplianceName = text; m_TaskUIList.Add(key, ui); m_TaskStates.Add(key, TaskState.Incomplete); }
public void SetTaskState(ApplianceKey key, TaskState state) { Debug.Assert(m_TaskStates.ContainsKey(key)); Debug.Assert(m_TaskUIList.ContainsKey(key)); if (state != TaskState.Incomplete) { if (key == ApplianceKey.FaxMachine) { PlaySound(state == TaskState.Completed ? m_FaxMachineSuccess : m_FaxMachineFailure); } if (key == ApplianceKey.Microwave) { PlaySound(state == TaskState.Completed ? m_MicrowaveSuccess : m_MicrowaveFailure); } if (key == ApplianceKey.TV) { PlaySound(state == TaskState.Completed ? m_TvSuccess : m_TvFailure); } } if (m_TaskStates[key] == TaskState.Incomplete) { m_TaskStates[key] = state; m_TaskUIList[key].SetState(state); if (AreAllTasksComplete()) { Debug.Log("All tasks completed"); if (!m_TaskStates.ContainsKey(ApplianceKey.Door)) { AddTask(ApplianceKey.Door, "Leave"); } } } }
public TaskState GetTaskState(ApplianceKey key) { Debug.Assert(m_TaskStates.ContainsKey(key)); return(m_TaskStates[key]); }
public bool HasTask(ApplianceKey key) { return(m_TaskStates.ContainsKey(key)); }