public void ClickedOnNeutralUnit(PointerEventData ptrED, NeutralUnitController unit) { //Attack neutral unit event PlayerUnitController selectedUnit = gameManager.turnManager.currentPlayer.selectedUnit; if (selectedUnit.Mode == "action" || ptrED.button == PointerEventData.InputButton.Right) { if (selectedUnit != null) { selectedUnit.Attack(unit); gameManager.uiManager.HighlightStep(); } } }
public void EndTurn() { //Turn counter control bool skip; do { playerTurn++; skip = true; foreach (Player p in gameManager.Players) { if (p.playerID == playerTurn) { skip = false; } } }while(skip == true && gameManager.numberOfPlayers >= playerTurn); if (gameManager.numberOfPlayers < playerTurn) { playerTurn = 1; //Neutral units turn control List <Transform> neutrals = new List <Transform>(); foreach (Transform u in gameManager.mapManager.neutralUnitsContainer.transform) { neutrals.Add(u); } foreach (Transform u in neutrals) { NeutralUnitController Unit = u.GetComponent <NeutralUnitController>(); foreach (Utility.Resource r in Unit.Resources) { r.value++; } Unit.movesLeft = Unit.maxMoves; Unit.AI(); } //Resources turn control foreach (Transform t in gameManager.mapManager.transform) { if (t.GetComponent <ResourceSpawner>() != null) { t.GetComponent <ResourceSpawner>().Spawn(); } } //Player resource income foreach (Player t in gameManager.Players) { foreach (Transform tr in t.unitManager) { foreach (Utility.Resource r in t.Resources) { foreach (Utility.Resource re in tr.GetComponent <PlayerUnitController>().resourcesIncome) { if (r.name == re.name) { r.value += re.value; } } } } } } skip = true; foreach (Player p in gameManager.Players) { if (p.playerID == playerTurn) { skip = false; } } if (skip == true) { do { playerTurn++; skip = true; foreach (Player p in gameManager.Players) { if (p.playerID == playerTurn) { skip = false; } } }while(skip == true && gameManager.numberOfPlayers >= playerTurn); } //Player units turn control foreach (Player t in gameManager.Players) { foreach (Transform tr in t.unitManager) { PlayerUnitController Unit = tr.GetComponent <PlayerUnitController>(); Unit.movesLeft = Unit.maxMoves; Unit.Mode = ""; gameManager.uiManager.SetBack(); } //Resource gain if (t == currentPlayer) { Utility.Resource.Modify(t.Resources, t.resourcesIncome, 1); } } //Reset turn timer remainingTime = turnTime; }