Esempio n. 1
0
    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());
            }
        });
    }
Esempio n. 2
0
    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";
    }
Esempio n. 4
0
    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());
        }
    }
Esempio n. 5
0
    void Awake()
    {
        UIWindow self = this;

        m_windowRectTransform = transform as RectTransform;
        closeButton.onClick.AddListener(() =>
        {
            if (OnWindowClosed != null)
            {
                OnWindowClosed(self);
            }

            UIWindowManager.Instance().DestroyWindow(self);
        });
    }
Esempio n. 6
0
    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);
        }
    }
Esempio n. 7
0
    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);
            }
        }
    }
Esempio n. 8
0
    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);
    }
Esempio n. 9
0
 void OnMissionEnded(MissionInstance _mission)
 {
     UIWindowManager.Instance().DestroyWindow("Mission Progress");
 }