diff --git a/OpenRa.Game/BuildingInfluenceMap.cs b/OpenRa.Game/BuildingInfluenceMap.cs index c750eb1697..b6742b158e 100644 --- a/OpenRa.Game/BuildingInfluenceMap.cs +++ b/OpenRa.Game/BuildingInfluenceMap.cs @@ -8,12 +8,12 @@ namespace OpenRa bool[,] blocked = new bool[128, 128]; Actor[,] influence = new Actor[128, 128]; - public BuildingInfluenceMap() + public BuildingInfluenceMap( World world ) { - Game.world.ActorAdded += + world.ActorAdded += a => { if (a.traits.Contains()) ChangeInfluence(a, a.traits.Get(), true); }; - Game.world.ActorRemoved += + world.ActorRemoved += a => { if (a.traits.Contains()) ChangeInfluence(a, a.traits.Get(), false); }; } diff --git a/OpenRa.Game/UnitInfluenceMap.cs b/OpenRa.Game/UnitInfluenceMap.cs index d86401d515..6bc2f74457 100644 --- a/OpenRa.Game/UnitInfluenceMap.cs +++ b/OpenRa.Game/UnitInfluenceMap.cs @@ -11,13 +11,13 @@ namespace OpenRa List[,] influence = new List[128, 128]; readonly int2 searchDistance = new int2(2,2); - public UnitInfluenceMap() + public UnitInfluenceMap( World world ) { for (int i = 0; i < 128; i++) for (int j = 0; j < 128; j++) influence[ i, j ] = new List(); - Game.world.ActorRemoved += a => Remove( a, a.traits.GetOrDefault() ); + world.ActorRemoved += a => Remove( a, a.traits.GetOrDefault() ); } public void Tick() diff --git a/OpenRa.Game/World.cs b/OpenRa.Game/World.cs index dab559245f..08fb2c6268 100644 --- a/OpenRa.Game/World.cs +++ b/OpenRa.Game/World.cs @@ -27,8 +27,8 @@ namespace OpenRa FileSystem.MountTemporary( new Package( Map.Theater + ".mix" ) ); TileSet = new TileSet( Map.TileSuffix ); - BuildingInfluence = new BuildingInfluenceMap(); - UnitInfluence = new UnitInfluenceMap(); + BuildingInfluence = new BuildingInfluenceMap( this ); + UnitInfluence = new UnitInfluenceMap( this ); oreFrequency = (int)(Rules.General.GrowthRate * 60 * 25); oreTicks = oreFrequency;