public virtual void Destroy() { // Generated Destroy SpriteManager.RemovePositionedObject(this); if (Used) { BulletFactory.MakeUnused(this, false); } if (Collision != null) { ShapeManager.RemoveOneWay(Collision); } if (SpriteInstance != null) { SpriteManager.RemoveSpriteOneWay(SpriteInstance); } CustomDestroy(); }