Start cleaning up sp player init; doesn't work

This commit is contained in:
Paul Chote
2010-08-25 20:15:21 +12:00
parent 0cc440aa1f
commit 03cdcdd4aa
3 changed files with 1 additions and 39 deletions

View File

@@ -1,35 +0,0 @@
#region Copyright & License Information
/*
* Copyright 2007-2010 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information,
* see LICENSE.
*/
#endregion
using System.Linq;
using OpenRA.Traits;
namespace OpenRA.Mods.RA
{
class LocalPlayerFromMapInfo : TraitInfo<LocalPlayerFromMap>, ITraitPrerequisite<CreateMapPlayersInfo>
{
public readonly string Player = "GoodGuy";
}
class LocalPlayerFromMap: ICreatePlayers
{
public void CreatePlayers(World w)
{
var name = w.WorldActor.Info.Traits.Get<LocalPlayerFromMapInfo>().Player;
var player = w.WorldActor.Trait<CreateMapPlayers>().Players[name];
// Hack: the player *must* be keyed by LocalClientId for orders to be processed correctly
var local = w.players.FirstOrDefault(p => p.Value == player);
w.players.Remove(local.Key);
w.players.Add(Game.LocalClientId,local.Value);
w.SetLocalPlayer(Game.LocalClientId);
}
}
}

View File

@@ -237,7 +237,6 @@
<Compile Include="SpawnMPUnits.cs" />
<Compile Include="CreateMapPlayers.cs" />
<Compile Include="CreateMPPlayers.cs" />
<Compile Include="LocalPlayerFromMap.cs" />
<Compile Include="HackyAI.cs" />
<Compile Include="RALoadScreen.cs" />
<Compile Include="NullLoadScreen.cs" />

View File

@@ -32,7 +32,7 @@ Players:
Enemies: GoodGuy
PlayerReference@GoodGuy:
Name: GoodGuy
Palette:
Playable: yes
Race: gdi
OwnsWorld: False
NonCombatant: False
@@ -447,11 +447,9 @@ Smudges:
Rules:
World:
-CreateMPPlayers:
-SpawnMPUnits:
-MPStartLocations:
-CrateSpawner:
LocalPlayerFromMap:
Gdi01Script:
Player:
-ConquestVictoryConditions: