Use add and remove world notifications on Crate to maintain the CrateSpawner list of crates
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user