public void DeactivateBoss() { if ((flags & (ActorInstantiationFlags.IsCreatedFromEventMap | ActorInstantiationFlags.IsFromGenerator)) != 0) { EventMap events = api.EventMap; if (events != null) { if ((flags & ActorInstantiationFlags.IsFromGenerator) != 0) { events.ResetGenerator(originTile.X, originTile.Y); } events.Deactivate(originTile.X, originTile.Y); } api.RemoveActor(this); } }
public virtual bool OnTileDeactivate(int tx, int ty, int tileDistance) { if ((flags & (ActorInstantiationFlags.IsCreatedFromEventMap | ActorInstantiationFlags.IsFromGenerator)) != 0 && ((MathF.Abs(tx - originTile.X) > tileDistance) || (MathF.Abs(ty - originTile.Y) > tileDistance))) { EventMap events = api.EventMap; if (events != null) { if ((flags & ActorInstantiationFlags.IsFromGenerator) != 0) { events.ResetGenerator(originTile.X, originTile.Y); } events.Deactivate(originTile.X, originTile.Y); } api.RemoveActor(this); return(true); } return(false); }
public bool HandlePlayerDied() { if ((flags & (ActorInstantiationFlags.IsCreatedFromEventMap | ActorInstantiationFlags.IsFromGenerator)) != 0) { EventMap events = levelHandler.EventMap; if (events != null) { if ((flags & ActorInstantiationFlags.IsFromGenerator) != 0) { events.ResetGenerator(originTile.X, originTile.Y); } events.Deactivate(originTile.X, originTile.Y); } OnBossDeactivated(); levelHandler.RemoveActor(this); return(true); } return(false); }