void EndGameOnSound(Constants.PlayerType playerType) { if (GameManager.instance.isEndRuleGameActivated == false) { PlaySound(AudioTag.ENDGAME_ON); } }
public void OnGameEnd(Constants.PlayerType player) { if (currentGameState == GAMESTATE.END) { return; } currentGameState = GAMESTATE.END; Debug.Log(player.ToString() + " loss the game."); if (player == Constants.PlayerType.LOCAL) { winLoseText.text = "YOU FAIL"; } else if (player == Constants.PlayerType.REMOTE) { winLoseText.text = "YOU WIN"; } else { winLoseText.text = "GAME DRAW"; } winlosePopUp.SetActive(true); if (OnGameResultDeclare != null) { OnGameResultDeclare(); } }
private void CheckAvailabilityOfSpareTower(Constants.PlayerType obj, Pawn pawn) { Debug.Log(obj.ToString() + " checking for spare tower"); if (obj != currentPlayerType) { BoardManager.instance.gamePlay.SetDesriptionForPlacingPawn("Waiting for " + Database.GetString(Database.Key.OPPONENT_NAME) + "to place spare tower"); //BoardManager.instance.RemovePawnFromBoard(pawn); return; } for (int i = 0; i < availableSpareTower.Count; i++) { if (availableSpareTower[i].currentPawnType == pawn.currentPawnType) { Debug.Log("Can replace with spare tower"); currentSparePawn = availableSpareTower[i]; BoardManager.instance.RemovePawnFromBoard(pawn); pawn.occupiedSquare.occupiedPawn = null; pawn.occupiedSquare = null; ReplacePawnWithSpareTower(pawn, availableSpareTower[i]); availableSpareTower.RemoveAt(i); return; } } //HERE CHANGE PLAYER TURN GameManager.instance.IncreaseTurn(); }
public void RemovePawnFromBoard(Pawn pawn) { Transform parent3D = players[(int)pawn.currentPlayerType].removedPawnParent3D; Transform parent2D = players[(int)pawn.currentPlayerType].removedPawnParent2D; //remove pawn from board sound MilitakiriAudioManager.OnPawnKnocked?.Invoke(); SetRemovedPawns3D(pawn.transform, parent3D); //for 2d GameObject duplicatePawn = Instantiate(pawn.gameObject, pawn.transform.position, pawn.transform.rotation); SetRemovedPawns2D(duplicatePawn.transform, parent2D); // Vector3 pos = new Vector3(0, 0, 0.3f * (parent.childCount - 1)); // pawn.transform.localPosition = pos; int noOfTowerPawn = players[(int)pawn.currentPlayerType].GetNoOfTowerPawnAvailable(); // Debug.Log(" noOfTowerPawn " + noOfTowerPawn); if (noOfTowerPawn == 1 && OnActiveEndRule != null) { Debug.Log("Active End Game Rules"); OnActiveEndRule(pawn.currentPlayerType); playerWithOneTower = pawn.currentPlayerType; } if (noOfTowerPawn == 0) { Debug.Log("Game should end"); GameManager.instance.OnGameEnd(pawn.currentPlayerType); } }
private void OnTurnChanged(Constants.PlayerType arg1, bool arg2) { //To place spare tower when no space was available if (playerToPlaceSpareTower != null) { playerToPlaceSpareTower.PlaceStoredSpareTower(); } }
public void ActiveEndGameRule(Constants.PlayerType type) { if (rank > 5 && currentPlayerType == type) { rankForMoveAndTake = 1; isEndRuleActivated = true; } }
private void ActiveEndGameRule(Constants.PlayerType type) { if (totalTurnLeft != -1) return; totalTurnLeft = Constants.TotalTurnPerBoard; if (totalTurnLeftText != null) { totalTurnLeftText.transform.parent.gameObject.SetActive(true); totalTurnLeftText.text = totalTurnLeft.ToString() + " MOVES LEFT"; } }
private void OnTurnChanged(Constants.PlayerType pType, bool isEndRuleGameActivated) { if (pType == currentPlayerType && currentPlayerType == Constants.PlayerType.REMOTE && Constants.isAI) { Invoke("AICalculation", Random.Range(3, 5f)); } if (isEndRuleGameActivated && pType == currentPlayerType) { totalTurnLeft--; if (totalTurnLeftText != null) totalTurnLeftText.text = totalTurnLeft.ToString() + " MOVES LEFT"; if (totalTurnLeft == 0) { Debug.Log("Game should end"); GameManager.instance.OnGameEnd(Constants.PlayerType.NONE); } } }
public Stats(string name, Constants.PlayerType playerType, int maxHp, short str, byte agi, byte dex, short maxStamina, short stamina = short.MinValue, int hp = int.MinValue) { Name = name; PlayerType = playerType; MAXHP = maxHp; HP = (int)(MAXHP * Constants.HP_MULTIPLIER); if (hp != int.MinValue) { HP = hp; } Strength = str; Agility = agi; Dexterity = dex; MaxStamina = Stamina = maxStamina; if (stamina != short.MinValue) { Stamina = stamina; } }
public void IncreaseTurn() { if (!Constants.isAI) { return; //submit local player's data to server } playerTurnIndex++; if (playerTurnIndex == 2) { playerTurnIndex = 0; } currentPlayerTurn = (Constants.PlayerType)playerTurnIndex; if (GameManager.instance.currentGameState != GAMESTATE.END) { OnTurnChanged?.Invoke(currentPlayerTurn, isEndRuleGameActivated); } // OnTurnChanged(currentPlayerTurn, isEndRuleGameActivated); Debug.Log("Current Game State: " + currentGameState); }
private void OnTurnChanged(Constants.PlayerType obj, bool isEndRuleGameActivated) { // Debug.LogError("OnTurnChanged: " + (int)obj + " player name" + obj.ToString()); currentPlayerType = obj; int playerIndex = (int)obj; glowForCurrentTurn.anchoredPosition = playerPicPosition[playerIndex].anchoredPosition; //Vector2 targetPos; //if(playerIndex == 1) //{ // turnBowl.anchoredPosition = new Vector2(0, -1245f); // targetPos = Vector2.zero; //} //else //{ // turnBowl.anchoredPosition = Vector2.zero; // targetPos = new Vector2(0, -1245f); //} if (playerIndex == 1) { avatarTime -= localTimer.UpdateFill; avatarTime += remoteTimer.UpdateFill; localTimer.ResetFill(); } else { avatarTime -= remoteTimer.UpdateFill; avatarTime += localTimer.UpdateFill; remoteTimer.ResetFill(); } //turnBowl.DOAnchorPos(targetPos, 0.7f).SetEase(easeType); // Debug.Log("Turn Changed: "+ GameManager.instance.currentPlayerTurn.ToString()); StopTurnTimer(); StartTurnTimer(totalTime); }
public void IncreaseTurn(Constants.PlayerType playersTurn) { currentPlayerTurn = playersTurn; OnTurnChanged(playersTurn, isEndRuleGameActivated); }
private void ActiveEndGameRule(Constants.PlayerType type) { isEndRuleGameActivated = true; // Change possible moves and takes to 1 }
public static string getStringFromName(Constants.PlayerType n) { return((n == 0) ? Constants.PLAYER_NAME : Constants.ENEMY_NAME); }