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();
        }