"L. Spiro Engine"
|
00001 00016 #ifndef __LSG_ANIMSPRITE_H__ 00017 #define __LSG_ANIMSPRITE_H__ 00018 00019 #include "../LSGGraphicsLib.h" 00020 #include "LSGSprite.h" 00021 00022 namespace lsg { 00023 00030 class CAnimSprite : public CSprite { 00031 public : 00032 // == Various constructors. 00033 LSE_CALLCTOR CAnimSprite(); 00034 00035 00036 // == Types. 00040 typedef struct LSG_ANIM_CELL { 00044 LSG_CELL cCell; 00045 00049 LSUINT64 ui64Time; 00050 } * LPLSG_ANIM_CELL, * const LPCLSG_ANIM_CELL; 00051 00052 00053 // == Functions. 00061 LSBOOL LSE_CALL SetCells( const LSG_ANIM_CELL * _pacCells, LSUINT32 _ui32Total ); 00062 00068 LSVOID LSE_CALL Tick( LSUINT64 _ui64Time ); 00069 00070 00071 protected : 00072 // == Members. 00076 CVector<LSG_ANIM_CELL> m_vCells; 00077 00081 LSUINT64 m_ui64Time; 00082 00086 LSUINT64 m_ui64TotalTime; 00087 00091 LSUINT32 m_ui32Cell; 00092 00093 00094 // == Functions. 00100 LSVOID LSE_CALL TickForward( LSUINT64 _ui64Time ); 00101 }; 00102 00103 00104 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00105 // DEFINITIONS 00106 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00107 // == Types. 00111 typedef CSharedPtr<CAnimSprite> CSharedAnimSpritePtr; 00112 00113 } // namespace lsg 00114 00115 #endif // __LSG_ANIMSPRITE_H__