void Start() { m_roomButtons = new Button[m_company.GetRooms().Length]; for (int i = 0; i < m_roomButtons.Length; ++i) { Button button = Instantiate(buttonPrefab); m_roomButtons[i] = button; button.GetComponentInChildren <Text>().text = "Room " + i + "\nEmpty"; button.transform.SetParent(roomListScrollRect.content); button.transform.SetAsLastSibling(); int roomIndex = i; button.onClick.AddListener(() => { OpenRoomWindow(roomIndex); }); } startMissionButton.onClick.AddListener(() => { UIWindow window; if (UIWindowManager.Instance().CreateWindow("Start Mission", out window)) { RectTransform missionPreprationContent = Instantiate(missonPreparationWindowContentPrefab); window.SetContent(missionPreprationContent); missionPreprationContent.GetComponent <MissionPreparation>().SetMission(new Mission()); } }); }
void OnStaffHired(Staff _staff) { Button button = Instantiate(listButtonPrefab); Text buttonText = button.GetComponentInChildren <Text>(); buttonText.text = _staff.GetName(); button.onClick.AddListener(() => { UIWindow window = null; if (UIWindowManager.Instance().CreateWindow(_staff.GetName(), out window)) { RectTransform content = Instantiate(emptyWindowContentPrefab); window.SetContent(content); Button fireButton = Instantiate(buttonPrefab); fireButton.GetComponentInChildren <Text>().text = "Fire"; fireButton.onClick.AddListener(() => { m_company.FireStaff(_staff); }); fireButton.transform.SetParent(content); } }); (button.transform as RectTransform).SetParent(staffListScrollRect.content); m_staffButtons.Add(_staff.GetID(), button); }
void ResetMissionDesc() { UnityTools.DestroyAllChildren(assignableList.content); UnityTools.DestroyAllChildren(assignedList.content); assignableText.text = "Assignable monsters (" + m_assignedMonsters.Count + ")"; foreach (Monster monster in m_assignableMonsters) { Button button = Instantiate(m_UI.listButtonPrefab); button.GetComponentInChildren <Text>().text = monster.GetName() + " (" + monster.GetCurrentStrength() + "/" + monster.GetMaxStrength() + ")"; button.transform.SetParent(assignableList.content); button.interactable = m_assignedMonsters.Count < m_mission.maxMonstersCount; Monster m = monster; button.onClick.AddListener(() => { m_assignableMonsters.Remove(m); m_assignedMonsters.Add(m); ResetMissionDesc(); }); if (monster.GetCurrentStrength() != monster.GetMaxStrength()) { // TODO plug an event on heal button.interactable = false; } } assignedText.text = "Assigned monsters (" + m_assignedMonsters.Count + "/" + m_mission.maxMonstersCount + ")"; foreach (Monster monster in m_assignedMonsters) { Button button = Instantiate(m_UI.listButtonPrefab); button.GetComponentInChildren <Text>().text = monster.GetName() + " (" + monster.GetCurrentStrength() + "/" + monster.GetMaxStrength() + ")"; button.transform.SetParent(assignedList.content); Monster m = monster; button.onClick.AddListener(() => { m_assignedMonsters.Remove(m); m_assignableMonsters.Add(m); ResetMissionDesc(); }); } startMissionButton.interactable = m_assignedMonsters.Count != 0; startMissionButton.onClick.RemoveAllListeners(); startMissionButton.onClick.AddListener(() => { m_company.StartMission(m_mission, m_assignedMonsters); UIWindowManager.Instance().DestroyWindow(transform.GetComponentInParent <UIWindow>()); }); missionText.text = ""; missionText.text += "Obstacles count: " + m_mission.obstacles.Length + "\n"; missionText.text += "Maximum monsters: " + m_mission.maxMonstersCount + "\n"; missionText.text += "Reward: " + m_mission.reward + "$\n"; }
void OnStaffFired(Staff _staff) { Button button = null; if (m_staffButtons.TryGetValue(_staff.GetID(), out button)) { UIWindowManager.Instance().DestroyWindow(_staff.GetName()); Destroy(button.gameObject); m_staffButtons.Remove(_staff.GetID()); } }
void Awake() { UIWindow self = this; m_windowRectTransform = transform as RectTransform; closeButton.onClick.AddListener(() => { if (OnWindowClosed != null) { OnWindowClosed(self); } UIWindowManager.Instance().DestroyWindow(self); }); }
void OnMissionStarted(MissionInstance _mission) { UIWindow window; if (UIWindowManager.Instance().CreateWindow("Mission Progress", out window)) { RectTransform content = Instantiate(UIManager.Instance().missionProgressWindowContentPrefab); window.SetContent(content); MissionProgress missionProgress = content.GetComponent <MissionProgress>(); window.OnWindowClosed += (UIWindow w) => { m_company.EndCurrentMission(); }; missionProgress.SetMissionInstance(_mission); } }
public void OpenRoomWindow(int _index) { Room room = m_company.GetRooms()[_index]; if (room != null) { UIWindow window = null; if (UIWindowManager.Instance().CreateWindow(room.GetName(), out window)) { room.FillWindowContent(window); } } else { UIWindow window = null; if (UIWindowManager.Instance().CreateWindow("Room " + _index, out window)) { GameObject content = new GameObject(); content.name = "Empty Room Window Content"; content.AddComponent <VerticalLayoutGroup>(); for (int j = 0; j < Enum.GetNames(typeof(RoomType)).Length; ++j) { RoomType roomType = (RoomType)j; Button roomButton = Instantiate(listButtonPrefab); roomButton.GetComponentInChildren <Text>().text = "Build " + roomType.ToString(); roomButton.transform.SetParent(content.transform); roomButton.onClick.AddListener(() => { m_company.BuildRoom(roomType, _index); UIWindowManager.Instance().DestroyWindow(window); OpenRoomWindow(_index); }); } window.SetContent(content.transform as RectTransform); } } }
void OnMonsterHired(Monster _monster) { Button button = Instantiate(listButtonPrefab); Text buttonText = button.GetComponentInChildren <Text>(); buttonText.text = _monster.GetName(); button.onClick.AddListener(() => { UIWindow window = null; if (UIWindowManager.Instance().CreateWindow(_monster.GetName(), out window)) { RectTransform content = Instantiate(emptyWindowContentPrefab); window.SetContent(content); Text text = Instantiate(windowTextPrefab); text.text = "Strength : " + _monster.GetCurrentStrength() + "/" + _monster.GetMaxStrength(); text.transform.SetParent(content); } }); (button.transform as RectTransform).SetParent(monstersListScrollRect.content); m_monstersButtons.Add(_monster.GetID(), button); }
void OnMissionEnded(MissionInstance _mission) { UIWindowManager.Instance().DestroyWindow("Mission Progress"); }