"Alternate Names" aka pseudo-prerequisites. E7 and MSLO can be built again.

This commit is contained in:
Bob
2010-01-13 00:08:44 +13:00
parent b425f4c31f
commit f1bbbac39d
7 changed files with 26 additions and 8 deletions

View File

@@ -25,7 +25,13 @@ namespace OpenRa.Game.GameRules
{
var ret = new Cache<string, List<Actor>>( x => new List<Actor>() );
foreach( var b in Game.world.Actors.Where( x => x.Owner == player && x.Info != null && x.Info.Traits.Contains<BuildingInfo>() ) )
{
ret[ b.Info.Name ].Add( b );
var buildable = b.Info.Traits.GetOrDefault<BuildableInfo>();
if( buildable != null )
foreach( var alt in buildable.AlternateName )
ret[ alt ].Add( b );
}
return ret;
}