public static GetBallNames ( string Country, int count ) : string[] | ||
Country | string | |
count | int | |
return | string[] |
protected override Session ImplStartSession(Ballz game, MatchSettings settings, bool isMultiplayer, int localPlayerId) { var session = new Session(game, new World(new Terrain(settings.MapTexture)), settings) { UsePlayerTurns = this.UsePlayerTurns }; FindSpecialMarkers(settings.MapTexture, session.Terrain.Scale); var spawnPoints = SelectSpawnpoints(settings.Teams.Select(t => t.NumberOfBallz).Sum()); session.Terrain.GravityPoint = GravityPoint; session.Terrain.HasGravityPoint = HasGravityPoint; // Create players and Ballz var currBallCreating = 0; foreach (var team in settings.Teams) { var player = new Player { Id = team.Id, Name = team.Name, TeamName = team.Country, IsLocal = !isMultiplayer || localPlayerId == team.Id }; session.Players.Add(player); var ballCount = UsePlayerTurns ? team.NumberOfBallz : 1; var ballNames = TeamNames.GetBallNames(team.Country, ballCount); for (var i = 0; i < ballCount; ++i) { var playerBall = new Ball { Name = ballNames[i], Position = spawnPoints[currBallCreating], Velocity = new Vector2(0, 0), IsAiming = true, Player = player, HoldingWeapon = "Bazooka", IsStatic = false }; player.OwnedBalls.Add(playerBall); ++currBallCreating; session.World.AddEntity(playerBall); BallControl controller; if (team.ControlledByAI) { controller = new AIControl(game, session, playerBall); } else { controller = new UserControl(game, session, playerBall); } session.SessionLogic.BallControllers[playerBall] = controller; } player.ActiveBall = player.OwnedBalls.FirstOrDefault(); session.SessionLogic.ActiveControllers[player] = session.SessionLogic.BallControllers[player.ActiveBall]; } return(session); }