convert Map.SpawnPoints to int2[]; tidy
This commit is contained in:
@@ -29,8 +29,8 @@ namespace OpenRA.Mods.RA
|
||||
public void WorldLoaded(World world)
|
||||
{
|
||||
var taken = world.LobbyInfo.Clients.Where(c => c.SpawnPoint != 0 && c.Slot != null)
|
||||
.Select(c => world.Map.SpawnPoints.ElementAt(c.SpawnPoint - 1)).ToList();
|
||||
var available = world.Map.SpawnPoints.Except(taken).ToList();
|
||||
.Select(c => world.Map.GetSpawnPoints()[c.SpawnPoint-1]).ToList();
|
||||
var available = world.Map.GetSpawnPoints().Except(taken).ToList();
|
||||
|
||||
// Set spawn
|
||||
foreach (var kv in world.LobbyInfo.Slots)
|
||||
@@ -41,7 +41,7 @@ namespace OpenRA.Mods.RA
|
||||
var client = world.LobbyInfo.ClientInSlot(kv.Key);
|
||||
var spid = (client == null || client.SpawnPoint == 0)
|
||||
? ChooseSpawnPoint(world, available, taken)
|
||||
: world.Map.SpawnPoints.ElementAt(client.SpawnPoint - 1);
|
||||
: world.Map.GetSpawnPoints()[client.SpawnPoint-1];
|
||||
|
||||
Start.Add(player, spid);
|
||||
}
|
||||
|
||||
@@ -381,7 +381,7 @@ namespace OpenRA.Mods.RA.Server
|
||||
return true;
|
||||
|
||||
int spawnPoint;
|
||||
if (!int.TryParse(parts[1], out spawnPoint) || spawnPoint < 0 || spawnPoint > server.Map.SpawnPoints.Count())
|
||||
if (!int.TryParse(parts[1], out spawnPoint) || spawnPoint < 0 || spawnPoint > server.Map.GetSpawnPoints().Length)
|
||||
{
|
||||
Log.Write("server", "Invalid spawn point: {0}", parts[1]);
|
||||
return true;
|
||||
|
||||
@@ -70,7 +70,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
||||
|| orderManager.LocalClient.State == Session.ClientState.Ready)
|
||||
return;
|
||||
|
||||
var p = map.SpawnPoints
|
||||
var p = map.GetSpawnPoints()
|
||||
.Select((sp, i) => Pair.New(mapPreview.ConvertToPreview(map, sp), i))
|
||||
.Where(a => (a.First - mi.Location).LengthSquared < 64)
|
||||
.Select(a => a.Second + 1)
|
||||
|
||||
@@ -97,7 +97,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
||||
return item;
|
||||
};
|
||||
|
||||
var options = Graphics.Util.MakeArray(map.SpawnPoints.Count() + 1, i => i).ToList();
|
||||
var options = Graphics.Util.MakeArray(map.GetSpawnPoints().Length + 1, i => i).ToList();
|
||||
dropdown.ShowDropDown("TEAM_DROPDOWN_TEMPLATE", 150, options, setupItem);
|
||||
}
|
||||
|
||||
@@ -121,10 +121,11 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
||||
|
||||
public static Dictionary<int2, Color> GetSpawnColors(OrderManager orderManager, Map map)
|
||||
{
|
||||
var spawns = map.GetSpawnPoints();
|
||||
return orderManager.LobbyInfo.Clients
|
||||
.Where( c => c.SpawnPoint != 0 )
|
||||
.ToDictionary(
|
||||
c => Map.SpawnPoints.ElementAt( c.SpawnPoint - 1 ),
|
||||
c => spawns[c.SpawnPoint - 1],
|
||||
c => c.ColorRamp.GetColor(0));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user