Use add and remove world notifications on Crate to maintain the CrateSpawner list of crates

This commit is contained in:
Curtis Shmyr
2013-12-26 16:22:31 -07:00
parent 59c674a427
commit fa9e98d844
2 changed files with 22 additions and 8 deletions

View File

@@ -132,6 +132,10 @@ namespace OpenRA.Mods.RA
self.World.ActorMap.AddInfluence(self, this);
self.World.ActorMap.AddPosition(self, this);
self.World.ScreenMap.Add(self);
var cs = self.World.WorldActor.TraitOrDefault<CrateSpawner>();
if (cs != null)
cs.IncrementCrates();
}
public void RemovedFromWorld(Actor self)
@@ -139,6 +143,10 @@ namespace OpenRA.Mods.RA
self.World.ActorMap.RemoveInfluence(self, this);
self.World.ActorMap.RemovePosition(self, this);
self.World.ScreenMap.Remove(self);
var cs = self.World.WorldActor.TraitOrDefault<CrateSpawner>();
if (cs != null)
cs.DecrementCrates();
}
}
}