SpriteManager
Introduction
The SpriteManager is a static class which handles Sprite addition, removal, and common behavior. The SpriteManager also manages automatically updated PositionedObjects. By default all entity instances are added to the SpriteManager to have their every-frame activity called.
In most cases you will not need to write code to interact with the SpriteManager since most Sprites are created in generated code. However, if you are creating or destroying Sprite instances manually, you will probably need to work with the SpriteMangaer.
Sprites
The SpriteManager provides numerous methods for for working with Sprites. The following sections provide code samples for working with Sprite-related methods.
Sprite Addition
Most AddSprite methods both instantiate a new Sprite as well as add it to SpriteManager for management. The following methods instantiate and add a Sprite to the SpriteManager:
For information on content managers, see the FlatRedBall Content Manager wiki entry.
Adding Sprites and Layers
Sprites can also be added to Layers.
Sprites which have already been created can be moved to layers.
The Sprite will no longer be an un-layered Sprite. Similarly entire lists can be added:
For more information, see the Layer wiki entry.
Sprite Removal
The RemoveSprite methods remove Sprites from the engine as well as two way PositionedObjectLists that the Sprites belong to.
RemoveSprite can also remove entire lists:
For more information see AttachableLists.
Managing PositionedObjects
See the PositionedObject page.
Read Only Lists
The SpriteManager provides read only access to its internal lists for debugging. It is not recommended to directly work with objects through these lists. The following lists the read only lists available:
AutomaticallyUpdatedSprites
DrawableBatches
SpriteFrames
ManagedPositionedObjects
These are static so you simply access them through the SpriteManager:
These lists are used by the ScreenManager to verify that all objects have been destroyed.
Last updated