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; }
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(); }