Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
        /**
         * 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);
        }