コード例 #1
0
    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;
        }
    }
コード例 #2
0
 public static List <PlayerActionShortcut> Get(int playerId, TurnPart part)
 {
     return(AllShortcuts.Where(x => x.PlayerId == playerId).Where(x => x.Part == part).ToList());
 }
コード例 #3
0
 public static void SetTurnPart(TurnPart part)
 {
     Instance.DoSetTurnPart(part);
 }