예제 #1
0
    private void Start()
    {
        int i = 0;

        foreach (UnitPanelController unitPanel in _player1Panels)
        {
            if (i <= 1)
            {
                if (i == 0)
                {
                    unitPanel.SetUnit(_player1UnitPrefabs[0]);
                    unitPanel.DisableButtons();
                    _myGameController.AddUnitPrefab(unitPanel.GetUnitPrefab(), 1);
                }
                else
                {
                    _currentUnitPanel = unitPanel;
                }
            }
            else
            {
                unitPanel.DisableMe();
            }
            i++;
        }
        i = 0;
        foreach (UnitPanelController unitPanel in _player2Panels)
        {
            if (i <= 1)
            {
                if (i == 0)
                {
                    unitPanel.SetUnit(_player2UnitPrefabs[0]);
                    _myGameController.AddUnitPrefab(unitPanel.GetUnitPrefab(), 2);
                }
                else
                {
                    _currentOpponentUnitPanel = unitPanel;
                }
                unitPanel.DisableButtons();
            }
            else
            {
                unitPanel.DisableMe();
            }
            i++;
        }
        _currentPanelIndex = 1;
        _currentPlayer     = 1;
        _currentUnitIndex  = 1;
        _currentUnitPanel.SetUnit(_player1UnitPrefabs[1]);
        _currentOpponentUnitPanel.SetUnit(_player2UnitPrefabs[1]);
        _player1InfoPanel.DisplayUnit(_player1UnitPrefabs[1].GetComponent <UnitController>());
        _player2InfoPanel.DisplayUnit(_player2UnitPrefabs[1].GetComponent <UnitController>());
        _chosenUnits = new List <ChosenUnit>();
    }
	private int populationCost = 0; //!< Local copy of the cost per unit to the available population cap

	/**
	 * Called when the script is loaded, before the game starts
	 */
	void Awake () {
		S = this;
	}
예제 #3
0
    public void NextUnitPanel()
    {
        Text           buttonText;
        UnitController currentUnitController;
        GameObject     opposingUnit;
        bool           unitValid;

        SoundController._instance.PlayClick();
        currentUnitController = _currentUnitPanel.GetUnitPrefab().GetComponent <UnitController>();
        _chosenUnits.Add(new ChosenUnit(currentUnitController.GetPlayerId(), currentUnitController.GetUnitType()));
        _myGameController.AddUnitPrefab(_currentUnitPanel.GetUnitPrefab(), _currentPlayer);
        _currentUnitPanel.DisableButtons();
        if (_currentPanelIndex != 0)    // if minion was chosen
        {
            currentUnitController = _currentOpponentUnitPanel.GetUnitPrefab().GetComponent <UnitController>();
            _chosenUnits.Add(new ChosenUnit(currentUnitController.GetPlayerId(), currentUnitController.GetUnitType()));
            _myGameController.AddUnitPrefab(_currentOpponentUnitPanel.GetUnitPrefab(), _currentPlayer == 1 ? 2 : 1);
            _currentOpponentUnitPanel.DisableButtons();
        }

        /*else
         * {
         *  // if commander was chosen
         * }
         * {
         *  _player2Panels[0].gameObject.SetActive(true);
         *  _player2InfoPanel.gameObject.SetActive(true);
         *  _player2InfoPanel.DisplayUnit(_player2UnitPrefabs[0].GetComponent<UnitController>());
         *  _myDescription.text = "Player 2: Choose your commander";
         * }*/
        if (_currentPlayer == 2 && _currentPanelIndex >= _player1Panels.Length - 1)
        {
            gameObject.SetActive(false);
            _myGameController.StartGame();
            return;
        }
        if (_currentPlayer == 1)
        {
            _currentPlayer    = 2;
            _currentUnitIndex = 1;
            if (_currentPanelIndex != 0)    // if minion is being chosen
            {
                unitValid = false;
                while (!unitValid)
                {
                    currentUnitController = _player2UnitPrefabs[_currentUnitIndex].GetComponent <UnitController>();
                    if (!_chosenUnits.Contains(new ChosenUnit(currentUnitController.GetPlayerId(), currentUnitController.GetUnitType())))
                    {
                        unitValid = true;
                    }
                    else
                    {
                        _currentUnitIndex++;
                    }
                }
                _currentPanelIndex++;
                _currentOpponentUnitPanel = _player1Panels[_currentPanelIndex];
                _currentOpponentUnitPanel.EnableMe();
                _currentOpponentUnitPanel.DisableButtons();
                opposingUnit = GetOpposingUnit(currentUnitController.GetUnitType(), currentUnitController.GetUnitName());
                _currentOpponentUnitPanel.SetUnit(opposingUnit);
                _player1InfoPanel.DisplayUnit(opposingUnit.GetComponent <UnitController>());
                _myDescription.text = "Super Cold: Choose doppelganger.";
                _currentUnitPanel   = _player2Panels[_currentPanelIndex];
                _currentUnitPanel.SetUnit(_player2UnitPrefabs[_currentUnitIndex]);
                _player2InfoPanel.DisplayUnit(currentUnitController);
            }
            else
            {
                currentUnitController = _player2UnitPrefabs[0].GetComponent <UnitController>();
                _currentUnitPanel     = _player2Panels[_currentPanelIndex];
                _currentUnitPanel.SetUnit(_player2UnitPrefabs[0]);
                _player2InfoPanel.DisplayUnit(currentUnitController);
            }
        }
        else
        {
            _currentPlayer    = 1;
            _currentUnitIndex = 1;
            unitValid         = false;
            while (!unitValid)
            {
                currentUnitController = _player1UnitPrefabs[_currentUnitIndex].GetComponent <UnitController>();
                if (!_chosenUnits.Contains(new ChosenUnit(currentUnitController.GetPlayerId(), currentUnitController.GetUnitType())))
                {
                    unitValid = true;
                }
                else
                {
                    _currentUnitIndex++;
                }
            }
            _currentPanelIndex++;
            _currentOpponentUnitPanel = _player2Panels[_currentPanelIndex];
            _currentOpponentUnitPanel.EnableMe();
            _currentOpponentUnitPanel.DisableButtons();
            opposingUnit = GetOpposingUnit(currentUnitController.GetUnitType(), currentUnitController.GetUnitName());
            _currentOpponentUnitPanel.SetUnit(opposingUnit);
            _currentUnitPanel = _player1Panels[_currentPanelIndex];
            _currentUnitPanel.SetUnit(_player1UnitPrefabs[_currentUnitIndex]);
            _player2InfoPanel.DisplayUnit(opposingUnit.GetComponent <UnitController>());
            _player1InfoPanel.DisplayUnit(currentUnitController);
            _myDescription.text = "Super Hot: Choose doppelganger.";
        }
        if (_currentPlayer == 2 && _currentPanelIndex + 1 == _player2Panels.Length)
        {
            buttonText      = _nextButton.GetComponentInChildren <Text>();
            buttonText.text = "Done";
        }
        _currentUnitPanel.EnableMe();
    }