private void DoSetTurnPart(TurnPart part) { if (turnPart == TurnPart.gameEnd) { return; } turnPart = part; switch (turnPart) { //GOD VIEW case TurnPart.turnStart: do { currentPlayerNumber++; if (currentPlayerNumber >= levelSetupInfo.numberOfPlayers) { currentPlayerNumber = 0; currentTurnNumber++; } }while (players[currentPlayerNumber].dead); characterGod.SetAsPlayer(); Game.Player.SetRaycast(true); Game.Player.SetHandMaterial(players[currentPlayerNumber].information.material); Game.Player.ResetRotation(); foreach (PlayerInstance player in players) { foreach (CharacterSoldier soldier in player.soldiers) { soldier.SetInfoWindowSize(false); soldier.ShowChoiceObject(false); } } characterGod.SetTurnInfoText(currentTurnNumber, currentPlayerNumber, players[currentPlayerNumber].information.color); break; case TurnPart.characterChoice: foreach (PlayerInstance player in players) { foreach (CharacterSoldier soldier in player.soldiers) { soldier.ShowChoiceObject(player.number == currentPlayerNumber); } } break; //SOLDIER VIEW case TurnPart.soldierWeaponChoice: characterGod.SetAsNotPlayer(); foreach (CharacterSoldier soldier in players[currentPlayerNumber].soldiers) { soldier.ShowChoiceObject(false); } foreach (PlayerInstance player in players) { foreach (CharacterSoldier soldier in player.soldiers) { soldier.SetInfoWindowSize(true); soldier.HideChoiceObject(); } } Game.Player.ResetRotation(); break; case TurnPart.soldierMovement: Game.Player.SetRaycast(false); break; } }
public static List <PlayerActionShortcut> Get(int playerId, TurnPart part) { return(AllShortcuts.Where(x => x.PlayerId == playerId).Where(x => x.Part == part).ToList()); }
public static void SetTurnPart(TurnPart part) { Instance.DoSetTurnPart(part); }