public PlayerGameModel(PlayerModel pData) { Roads.CollectionChanged += Roads_CollectionChanged; Settlements.CollectionChanged += Settlements_CollectionChanged; Cities.CollectionChanged += Cities_CollectionChanged; Ships.CollectionChanged += Ships_CollectionChanged; PlayerModel = pData; PlayerTurnResourceCount = new PlayerResourceModel(pData); PlayerTurnResourceCount.OnPlayerResourceUpdate += OnGameModelResourceUpdate; // currently only logs that a resource was allocated ColorAsString = pData.ColorAsString; }
/** * Get match players and scorers */ private (Dictionary <string, List <PlayerResourceModel> >, List <GoalScorerResourceModel>) GetPlayerDetails(int hostId, int guestId, List <MatchPlayer> matchPlayers) { List <PlayerResourceModel> hostPlayers = new List <PlayerResourceModel>(); List <PlayerResourceModel> guestPlayers = new List <PlayerResourceModel>(); List <GoalScorerResourceModel> goalScorers = new List <GoalScorerResourceModel>(); Dictionary <string, List <PlayerResourceModel> > players = new Dictionary <string, List <PlayerResourceModel> >() { { "host", hostPlayers }, { "guest", guestPlayers } }; foreach (MatchPlayer matchPlayer in matchPlayers) { PlayerResourceModel player = new PlayerResourceModel() { Id = matchPlayer.PlayerId, Name = matchPlayer.Player.Name }; // Host player if (matchPlayer.Player.TeamId == hostId) { players["host"].Add(player); } // Guest player else if (matchPlayer.Player.TeamId == guestId) { players["guest"].Add(player); } // Player scored if (matchPlayer.Goals.Count() != 0) { GoalScorerResourceModel scorer = new GoalScorerResourceModel() { PlayerId = matchPlayer.PlayerId, PlayerName = matchPlayer.Player.Name, GoalsScored = matchPlayer.Goals.Count() }; goalScorers.Add(scorer); } } return(players, goalScorers); }