Ejemplo n.º 1
0
        private PlayerModel GeneratePlayer(ArmamentType playerId)
        {
            PlayerModel playerModel = new PlayerModel
            {
                GameId   = _gameState.Game.GameId,
                PlayerId = playerId,
                Squads   = new List <SquadModel>
                {
                    new SquadModel
                    {
                        PlayerId = playerId,
                        SquadId  = string.Format("{0}-1", playerId),
                    },
                    new SquadModel
                    {
                        PlayerId = playerId,
                        SquadId  = string.Format("{0}-2", playerId),
                    },
                    new SquadModel
                    {
                        PlayerId = playerId,
                        SquadId  = string.Format("{0}-3", playerId),
                    }
                }
            };

            foreach (SquadModel squad in playerModel.Squads)
            {
                ArmamentStats stats = new ArmamentStats();
                switch (playerId)
                {
                case ArmamentType.GeneralGoodman:
                    stats = new ArmamentStats(2, 2, 2, 2);
                    break;

                case ArmamentType.ArchibaldKluge:
                    stats = new ArmamentStats(0, 1, 3, 1);
                    break;

                case ArmamentType.AxleRobbins:
                    stats = new ArmamentStats(1, 0, 2, 2);
                    break;

                case ArmamentType.AzuraBadeau:
                    stats = new ArmamentStats(2, 2, 1, 0);
                    break;

                case ArmamentType.BorisMyasneek:
                    stats = new ArmamentStats(3, 1, 1, 0);
                    break;

                case ArmamentType.CassandraOShea:
                    stats = new ArmamentStats(0, 0, 2, 3);
                    break;

                case ArmamentType.EmmersonBarlow:
                    stats = new ArmamentStats(1, 3, 1, 0);
                    break;

                case ArmamentType.JinFeng:
                    stats = new ArmamentStats(0, 3, 1, 1);
                    break;

                case ArmamentType.TheNode:
                    stats = new ArmamentStats(0, 2, 2, 1);
                    break;

                case ArmamentType.UgoDottore:
                    stats = new ArmamentStats(1, 0, 3, 1);
                    break;
                }
                squad.Armaments.Add(new Armament(playerId, stats));
            }

            _gameState.Game.Players.Add(playerModel);
            _gameState.Game.PlayerId = playerId;;

            // Add chosen Named Henchman to first squad
            var firstSquad     = playerModel.Squads.Where(squad => squad.SquadId == string.Format("{0}-1", playerId)).FirstOrDefault();
            var playerArmament = firstSquad.Armaments.Where(armament => armament.ArmamentType == playerId).FirstOrDefault();

            playerArmament.SetCount(1);

            // Calculate stats for first squad
            _squadService.CalculateSquadStats(firstSquad);

            _thisPlayerUpdate.OnNext(playerModel);;

            return(playerModel);
        }