TurtleBrains  0.2.1
High quality, portable, C++ API for native application and game development.
tb_sprite_sheet.h
1 
9 #ifndef _TurtleBrains_SpriteSheet_h_
10 #define _TurtleBrains_SpriteSheet_h_
11 
12 #include "tb_sprite.h" //for SpriteFrame
13 #include "tb_animated_sprite.h" //for AnimationSequence
14 #include "tb_texture_manager.h"
15 #include "../core/tb_string.h"
16 
17 #include <map>
18 
19 namespace TurtleBrains
20 {
21  namespace Graphics
22  {
23 
34  {
35  public:
40  explicit SpriteSheet(const TextureHandle& textureHandle = kInvalidTexture);
41 
48  void AddSpriteFrame(const tbCore::tbString& spriteName, const SpriteFrame& spriteFrame);
49 
54  const SpriteFrame& GetSpriteFrame(const tbCore::tbString& spriteName) const;
55 
59  void AddAnimationSequence(const tbCore::tbString& animationName, const AnimationSequence& animationSequence);
60 
65  const AnimationSequence& GetAnimationSequence(const tbCore::tbString& animationName) const;
66 
70  void AddAnimationSequencesToSprite(const tbCore::tbString& spriteName, const std::vector<tbCore::tbString>& animationNames);
71 
75  bool HasAnimationsForSprite(const tbCore::tbString& spriteName) const;
76 
80  const std::vector<tbCore::tbString>& GetAnimationsForSprite(const tbCore::tbString& spriteName) const;
81 
86  void SetTextureHandle(const TextureHandle& textureHandle);
87 
91  const TextureHandle& GetTextureHandle(void) const;
92 
93  private:
94  typedef std::map<tbCore::tbString, SpriteFrame> SpriteFrameContainer;
95  SpriteFrameContainer mSpriteFrames;
96  typedef std::map<tbCore::tbString, AnimationSequence> AnimationSequenceContainer;
97  AnimationSequenceContainer mAnimationSequences;
98  typedef std::map<tbCore::tbString, std::vector<tbCore::tbString> > SpriteAnimationsContainer;
99  SpriteAnimationsContainer mSpriteAnimations;
100  TextureHandle mTextureHandle;
101  };
102 
103  }; /* namespace Graphics */
104 }; /* namespace TurtleBrains */
105 
107 
108 #endif /* _TurtleBrains_SpriteSheet_h_ */
Give the GameScene and Entities something to display, Text, Sprites and AnimatedSprites help bring th...
SpriteSheet(const TextureHandle &textureHandle=kInvalidTexture)
const SpriteFrame & GetSpriteFrame(const tbCore::tbString &spriteName) const
Definition: tb_sprite.h:30
unsigned int TextureHandle
Definition: tb_texture_manager.h:41
void AddAnimationSequence(const tbCore::tbString &animationName, const AnimationSequence &animationSequence)
const TextureHandle & GetTextureHandle(void) const
void AddSpriteFrame(const tbCore::tbString &spriteName, const SpriteFrame &spriteFrame)
Contains all functions, classes and helpers related to game/application development written by Tim "B...
Definition: tb_application_dialog.h:21
const AnimationSequence & GetAnimationSequence(const tbCore::tbString &animationName) const
const std::vector< tbCore::tbString > & GetAnimationsForSprite(const tbCore::tbString &spriteName) const
Definition: tb_animated_sprite.h:28
void AddAnimationSequencesToSprite(const tbCore::tbString &spriteName, const std::vector< tbCore::tbString > &animationNames)
const TextureHandle kInvalidTexture
Definition: tb_sprite_sheet.h:33
void SetTextureHandle(const TextureHandle &textureHandle)
std::string tbString
Definition: tb_string.h:293
bool HasAnimationsForSprite(const tbCore::tbString &spriteName) const