Esempio n. 1
0
        public PlayerFsm(Game game, DungeonTiles.Player player)
        {
            Game   = game;
            Player = player;

            IdlePlayerState = new PlayerState(this);

            // Let the game know the players state changed.
            OnNewState.AddListener((state) =>
            {
                GameEvents.OnPlayerStateChange.Invoke(player, (PlayerState)state);
            });

            GameEvents.OnNewTurnPhase.AddListener((newPlayer, turnPhase) =>
            {
                // Check if this is the player we're managing.
                if (newPlayer != player)
                {
                    SetState(IdlePlayerState);
                    return;
                }

                if (turnPhase == TurnPhase.Hero)
                {
                    SetState(new HeroPhaseState(this));
                }
                else
                {
                    SetState(IdlePlayerState);
                }
            });
        }
        public void OnEnable()
        {
            DungeonTiles.Player player = GetComponent <DungeonTiles.Player>();
            Game game = Game.Instance;

            PlayerFsm = new PlayerFsm(game, player);
        }
Esempio n. 3
0
        public void Start()
        {
            Game      = Game.Instance;
            Player    = Game.LocalPlayer;
            PlayerFsm = Player.GetComponent <PlayerFsmBehaviour>().PlayerFsm;

            TurnStatusText    = GameObject.Find("Text_TurnStatus").GetComponent <Text>();
            CharacterNameText = GameObject.Find("Text_CharacterName").GetComponent <Text>();
        }
Esempio n. 4
0
 public PlayerState(PlayerFsm fsm) : base(fsm)
 {
     Game   = fsm.Game;
     Player = fsm.Player;
 }