Inherits ISprite, and TextureAtlasNamespace::TextureAtlasNotificationBus::Handler.
Public Member Functions | |
CSprite () | |
Construct an empty sprite. | |
const AZStd::string & | GetPathname () const override |
Get the pathname of this sprite. | |
const AZStd::string & | GetTexturePathname () const override |
Get the pathname of the texture of this sprite. | |
Borders | GetBorders () const override |
Get the borders of this sprite. | |
void | SetBorders (Borders borders) override |
Set the borders of this sprite. | |
void | SetCellBorders (int cellIndex, Borders borders) override |
Set the borders of a given cell within the sprite-sheet. | |
void | Serialize (TSerialize ser) override |
Serialize this object for save/load. | |
bool | SaveToXml (const AZStd::string &pathname) override |
Save this sprite data to disk. | |
bool | AreBordersZeroWidth () const override |
Test if this sprite has any borders. | |
bool | AreCellBordersZeroWidth (int index) const override |
Tests if the sprite-sheet cell has borders. | |
AZ::Vector2 | GetSize () override |
Get the dimensions of the sprite. | |
AZ::Vector2 | GetCellSize (int cellIndex) override |
Gets the dimensions of a specific cell texture within a sprite-sheet. | |
const SpriteSheetCellContainer & | GetSpriteSheetCells () const override |
Gets cell info for each of the cells within the sprite-sheet. | |
void | SetSpriteSheetCells (const SpriteSheetCellContainer &cells) override |
Sets the sprite's sprite-sheet cells. | |
void | ClearSpriteSheetCells () override |
Removes all sprite-sheet cell info for this sprite. | |
void | AddSpriteSheetCell (const SpriteSheetCell &spriteSheetCell) override |
Defines a new SpriteSheetCell for this sprite. | |
AZ::Vector2 | GetCellUvSize (int cellIndex) const override |
Gets the dimensions of a specific cell (in a sprite-sheet) in UV coords (UV range). | |
UiTransformInterface::RectPoints | GetCellUvCoords (int cellIndex) const override |
Gets the UV coords associated for a given cell in a sprite-sheet. | |
UiTransformInterface::RectPoints | GetSourceCellUvCoords (int cellIndex) const override |
Gets the UV coords associated for a given cell in a sprite-sheet in a way that ignores texture atlases. | |
Borders | GetCellUvBorders (int cellIndex) const override |
Borders | GetTextureSpaceCellUvBorders (int cellIndex) const override |
const AZStd::string & | GetCellAlias (int cellIndex) const override |
Gets the string alias associated with the given cell in a sprite-sheet. | |
void | SetCellAlias (int cellIndex, const AZStd::string &cellAlias) override |
Sets the string alias associated with the given cell in a sprite-sheet. | |
int | GetCellIndexFromAlias (const AZStd::string &cellAlias) const override |
Returns the sprite-sheet cell index that corresponds to the given string alias. | |
bool | IsSpriteSheet () const override |
Returns true if this sprite is configured as a sprite-sheet, false otherwise. | |
AZ::Data::Instance< AZ::RPI::Image > | GetImage () override |
void | OnAtlasLoaded (const TextureAtlasNamespace::TextureAtlas *atlas) override |
void | OnAtlasUnloaded (const TextureAtlasNamespace::TextureAtlas *atlas) override |
![]() | |
virtual | ~ISprite () |
Deleting a sprite will release its texture. | |
Static Public Member Functions | |
static void | Initialize () |
static void | Shutdown () |
static CSprite * | LoadSprite (const AZStd::string &pathname) |
static CSprite * | CreateSprite (const AZ::Data::Asset< AZ::RPI::AttachmentImageAsset > &attachmentImageAsset) |
static bool | DoesSpriteTextureAssetExist (const AZStd::string &pathname) |
static void | ReplaceSprite (ISprite **baseSprite, ISprite *newSprite) |
Replaces baseSprite with newSprite with proper ref-count handling and null-checks. | |
static bool | FixUpSourceImagePathFromUserDefinedPath (const AZStd::string &userDefinedPath, AZStd::string &sourceImagePath) |
static AZStd::string | GetImageSourcePathFromProductPath (const AZStd::string &productPathname) |
Protected Member Functions | |
bool | CellIndexWithinRange (int cellIndex) const |
Additional Inherited Members | |
![]() | |
using | SpriteSheetCellContainer = AZStd::vector<SpriteSheetCell> |
|
overridevirtual |
Defines a new SpriteSheetCell for this sprite.
Implements ISprite.
|
overridevirtual |
Test if this sprite has any borders.
Implements ISprite.
|
overridevirtual |
Tests if the sprite-sheet cell has borders.
Implements ISprite.
|
overridevirtual |
Removes all sprite-sheet cell info for this sprite.
Implements ISprite.
|
static |
Pathname allows any of the following:
|
overridevirtual |
Get the borders of this sprite.
Implements ISprite.
|
overridevirtual |
Gets the string alias associated with the given cell in a sprite-sheet.
Implements ISprite.
|
overridevirtual |
Returns the sprite-sheet cell index that corresponds to the given string alias.
Implements ISprite.
|
overridevirtual |
Gets the dimensions of a specific cell texture within a sprite-sheet.
Implements ISprite.
|
overridevirtual |
Gets the sliced border info for a given cell within a sprite-sheet.
The returned UV borders are in "cell space" relative to the given indexed spell. For example, a top-left border of (0.5, 0.5) would be the center of the given cell.
Implements ISprite.
|
overridevirtual |
Gets the UV coords associated for a given cell in a sprite-sheet.
Implements ISprite.
|
overridevirtual |
Gets the dimensions of a specific cell (in a sprite-sheet) in UV coords (UV range).
Implements ISprite.
|
overridevirtual |
Implements ISprite.
|
overridevirtual |
Get the pathname of this sprite.
Implements ISprite.
|
overridevirtual |
Get the dimensions of the sprite.
Implements ISprite.
|
overridevirtual |
Gets the UV coords associated for a given cell in a sprite-sheet in a way that ignores texture atlases.
Implements ISprite.
|
overridevirtual |
Gets cell info for each of the cells within the sprite-sheet.
Implements ISprite.
|
overridevirtual |
Get the pathname of the texture of this sprite.
Implements ISprite.
|
overridevirtual |
Gets the sliced border UV coordinates in texture space for a given cell within a sprite-sheet.
The returned UV border coordinates are in texture space. For example, a top-left border of (0.5, 0.5) would be the center of the sprite-sheet.
Implements ISprite.
|
overridevirtual |
Returns true if this sprite is configured as a sprite-sheet, false otherwise.
Implements ISprite.
|
overridevirtual |
Save this sprite data to disk.
Implements ISprite.
|
overridevirtual |
Serialize this object for save/load.
Implements ISprite.
|
overridevirtual |
Set the borders of this sprite.
Implements ISprite.
|
overridevirtual |
Sets the string alias associated with the given cell in a sprite-sheet.
Implements ISprite.
|
overridevirtual |
Set the borders of a given cell within the sprite-sheet.
Implements ISprite.
|
overridevirtual |
Sets the sprite's sprite-sheet cells.
Implements ISprite.