Exemple #1
0
        public PlayerCharacterController(PartyDataWrapper party)
        {
            PartyId    = (uint)party.PartyId.GetHashCode();
            Characters = party.Characters;

            GameStateUpdatedSignal = new GameStateUpdated();
            CombatCompleteSignal   = new CombatComplete();
        }
Exemple #2
0
        private async Task UpdateGameBoardAsync(IPlayer player, GameState state)
        {
            var id = ((Individual)player).Id;

            if (GameStateUpdated != null)
            {
                await GameStateUpdated.Invoke(id, state);
            }
        }
Exemple #3
0
        private async Task OnGameStateUpdated()
        {
            if (GameStateUpdated is null)
            {
                return;
            }

            var tasks        = new List <Task>();
            var callbackList = GameStateUpdated?.GetInvocationList();

            for (int i = 0; i < callbackList.Length; i++)
            {
                var func = (Func <IPlayer, GameState, Task>)callbackList[i];
                var task = func(_player, _gameScene.State);
                tasks.Add(task);
            }

            await Task.WhenAll(tasks);
        }
Exemple #4
0
 /// <summary>
 /// Updates player info and raises the appropiate events.
 /// </summary>
 public void UpdateGameState(GameState newState)
 {
     GameState = newState;
     GameStateUpdated?.Invoke(newState);
 }
 /// <summary>
 /// Updates player info and raises the appropiate events.
 /// </summary>
 public void UpdateGameState(GameState updatedGameState)
 {
     GameState = updatedGameState;
     GameStateUpdated?.Invoke(updatedGameState);
 }