The RemoveSpriteOneWay method removes the argument Sprite from the SpriteManager (for both rendering and automatic updates) but does not modify any relationships between the Sprite and objects outside of the game engine. Specifically, RemoveSpriteOneWay will remove a Sprite from:
Rendering
Ordered rendering
Z-Buffered rendering
Layered rendering
Automatic engine updates
RemoveSpriteOneWay will not remove a Sprite from:
Glue entities and other game-level PositionedObjectLists
Parent/child relationships
The following code will remove a Sprite from the SpriteManager, but will preserve any game-level relationships:
RemoveSpriteOneWay can be used to move a Sprite from an entity to a different layer. Keep in mind that if the entire entity should be moved from one entity to another, call MoveToLayer. However, to move an individual Sprite which is a part of an entity (such as a Sprite used to render glowing light), it needs to first be removed from the engine, then added to a different layer. The following code moves a Sprite which is part of a TorchInstance entity to a layer called LightLayer:
Note that the code above assumes that LightSprite is publicly available. If the Sprite is part of a Glue entity, this can be made public in Glue by setting HasPublicProperty to true.