예제 #1
0
        void Start()
        {
            var updateManagerObject = new GameObject("UpdateManager");

            _updateManager = updateManagerObject.AddComponent <UpdateManager>();

            var coroutiner = new GameObject("Coroutiner").AddComponent <Coroutiner>();

            _objectCreateManager = new ObjectCreateManager();
            _objectStorage       = new ObjectStorage();

            _dataLoadManager = new DataLoadManager(_objectStorage);

            _poolManager = new PoolManager(_objectStorage, _objectCreateManager);

            _dataLoadManager.ReadConfig();
            _dataLoadManager.LoadPrefabs();
            _dataLoadManager.CreateUpgrades();
            _behaviourManager = new BehaviourManager(_updateManager, _objectStorage);

            _UIManager = new UIManager(_updateManager, _objectStorage, _poolManager, _dataLoadManager, _behaviourManager);
            _UIManager.ShowMainMenu(); //start game here
        }
예제 #2
0
        public UIManager(IUpdateManager updateManager, IObjectStorage objectStorage, IPoolManager poolManager, IDataLoadManager dataLoadManager, IBehaviourManager behaviourManager)
        {
            _updateManager    = updateManager;
            _objectStorage    = objectStorage;
            _poolManager      = poolManager;
            _dataLoadManager  = dataLoadManager;
            _behaviourManager = behaviourManager;

            _updateManager.AddUpdatable(this);

            _buttons = new Dictionary <string, Button>();

            _mainMenu = GameObject.Find("MainMenu");
            _gameMenu = GameObject.Find("GameMenu");

            _buttons.Add(Constants.playBatton, GameObject.Find(Constants.playBatton).GetComponent <Button>());
            _buttons.Add(Constants.exitButton, GameObject.Find(Constants.exitButton).GetComponent <Button>());

            _buttons.Add(Constants.pauseButton, GameObject.Find(Constants.pauseButton).GetComponent <Button>());

            _buttons.Add(Constants.continueButton, GameObject.Find(Constants.continueButton).GetComponent <Button>());
            _buttons.Add(Constants.restartButton, GameObject.Find(Constants.restartButton).GetComponent <Button>());
            _buttons.Add(Constants.backButton, GameObject.Find(Constants.backButton).GetComponent <Button>());

            _buttons.Add(Constants.firstUpgradeButton, GameObject.Find(Constants.firstUpgradeButton).GetComponent <Button>());
            _buttons.Add(Constants.secondUpgradeButton, GameObject.Find(Constants.secondUpgradeButton).GetComponent <Button>());
            _buttons.Add(Constants.thirdUpgradeButton, GameObject.Find(Constants.thirdUpgradeButton).GetComponent <Button>());

            _buttons.Add(Constants.machineButton, GameObject.Find(Constants.machineButton).GetComponent <Button>());
            _buttons.Add(Constants.weaponApplyButton, GameObject.Find(Constants.weaponApplyButton).GetComponent <Button>());


            _buttons[Constants.playBatton].onClick.AddListener(delegate() { StartLevel(); });
            _buttons[Constants.exitButton].onClick.AddListener(delegate() { QuitApplication(); });

            _buttons[Constants.pauseButton].onClick.AddListener(delegate() { OpenGameMenu(); });

            _buttons[Constants.continueButton].onClick.AddListener(delegate() { ContinueLevel(); });
            _buttons[Constants.restartButton].onClick.AddListener(delegate() { RestartLevel(); });
            _buttons[Constants.backButton].onClick.AddListener(delegate() { OpenMainMenu(); });

            _buttons[Constants.firstUpgradeButton].onClick.AddListener(delegate() { ApplyFirstUpgrade(); });
            _buttons[Constants.secondUpgradeButton].onClick.AddListener(delegate() { ApplySecondUpgrade(); });
            _buttons[Constants.thirdUpgradeButton].onClick.AddListener(delegate() { ApplyThirdUpgrade(); });

            _buttons[Constants.machineButton].onClick.AddListener(delegate() { OpenMachineMenu(); });
            _buttons[Constants.weaponApplyButton].onClick.AddListener(delegate() { WeaponApplyMenu(); });

            _healthBar     = GameObject.Find("Healthbar").GetComponent <Slider>();
            _experiencebar = GameObject.Find("Experiencebar").GetComponent <Slider>();

            _upgradeMenu       = GameObject.Find("UpgradeMenu");
            _firstTitle        = GameObject.Find("FirstTitle").GetComponent <TextMeshProUGUI>();
            _firstDescription  = GameObject.Find("FirstDescription").GetComponent <TextMeshProUGUI>();
            _secondTitle       = GameObject.Find("SecondTitle").GetComponent <TextMeshProUGUI>();
            _secondDescription = GameObject.Find("SecondDescription").GetComponent <TextMeshProUGUI>();
            _thirdTitle        = GameObject.Find("ThirdTitle").GetComponent <TextMeshProUGUI>();
            _thirdDescription  = GameObject.Find("ThirdDescription").GetComponent <TextMeshProUGUI>();

            _coinPanel = GameObject.Find("CoinPanel");
            _coinValue = GameObject.Find("CoinValue").GetComponent <TextMeshProUGUI>();

            _magazinePanel     = GameObject.Find("MagazinePanel");
            _bulletImagePrefab = Resources.Load(Constants.prefabPath + "BulletImage") as GameObject;
            _bulletImages      = new List <GameObject>();

            _machineMenu             = GameObject.Find("MachineMenu");
            _machineDropdown         = GameObject.Find("MachineDropdown").GetComponent <TMP_Dropdown>();
            _machineDropdown.options = new List <TMP_Dropdown.OptionData>
            {
                new TMP_Dropdown.OptionData(_objectStorage.WeaponTemplates[WeaponType.PlayerBlaster.ToString()].Alias),
                new TMP_Dropdown.OptionData(_objectStorage.WeaponTemplates[WeaponType.PlayerShotgun.ToString()].Alias),
            };
            _machineDropdown.onValueChanged.AddListener(delegate { MachineDropdownValueChangedHandler(_machineDropdown); });
            _weaponDescription = GameObject.Find("WeaponDescription").GetComponent <TextMeshProUGUI>();
        }