public void EndTurn() { foreach (var item in Units) { if (item.TotalArmorPoints > 0) { item.ArmorPoints = item.TotalArmorPoints; } item.blockChecker = false; } //CellGridState = new CellGridState(this); CellGridState = new CellGridStateBlockInput(this); _cellGridState.OnStateEnter(); List <Cell> cellTypeRuins = new List <Cell>(); if (Units.Select(u => u.PlayerNumber).Distinct().Count() == 1) { return; } Units.FindAll(u => u.PlayerNumber.Equals(CurrentPlayerNumber)).ForEach(u => { u.OnTurnStart(); }); CurrentPlayerNumber = (CurrentPlayerNumber + 1) % NumberOfPlayers; while (Units.FindAll(u => u.PlayerNumber.Equals(CurrentPlayerNumber)).Count == 0) { CurrentPlayerNumber = (CurrentPlayerNumber + 1) % NumberOfPlayers; } if (TurnEnded != null) { TurnEnded.Invoke(this, new EventArgs()); } uiManager.ChangeTurnUi(CurrentPlayerNumber); uiManager.CloseScorePanel(); uiManager.CloseEnemyScorePanel(); Debug.Log(string.Format("Player{0} turn", CurrentPlayerNumber)); Units.FindAll(u => u.PlayerNumber.Equals(CurrentPlayerNumber)).ForEach(u => { u.OnTurnStart(); }); Players.Find(p => p.PlayerNumber.Equals(CurrentPlayerNumber)).Play(this); foreach (var item in FindObjectsOfType <NumberUnit>()) { if (item.GetComponent <Unit>().PlayerNumber != CurrentPlayerNumber) { var highlighter = item.transform.Find("WhiteTile").GetComponent <SpriteRenderer>(); if (highlighter != null) { highlighter.color = new Color(1, 1, 1, 0); } } } foreach (var cell in Cells) { if (cell.Ruins == true) { cellTypeRuins.Add(cell); Debug.Log(cellTypeRuins); // uiManager.UpdateToRuins(cell.gameObject); } /*if(cell.Temple == true) * { * cell.Temple = false; * uiManager.UpdateToRuins(cell.gameObject); * cell.Ruins = true; * } */ } if (cellTypeRuins.Count() == 4) { Random random = new Random(); var randomizedCell = random.Next(cellTypeRuins.Count); Debug.Log(cellTypeRuins[randomizedCell]); cellTypeRuins[randomizedCell].Ruins = false; cellTypeRuins[randomizedCell].Temple = true; if (cellTypeRuins[randomizedCell].Ruins == false) { uiManager.UpdateToRuins(cellTypeRuins[randomizedCell].gameObject); Debug.Log("Ruiny"); } if (cellTypeRuins[randomizedCell].Temple == true) { uiManager.UpdateToTample(cellTypeRuins[randomizedCell].gameObject); Debug.Log("Temple"); } } }
private void OnMouseExit() { uiManager.CloseEnemyScorePanel(); enemyScorePanel.RestEvents(); }