]> git.lizzy.rs Git - irrlicht.git/blob - source/Irrlicht/CSceneNodeAnimatorTexture.h
Fix path issues when imported as subdirectory
[irrlicht.git] / source / Irrlicht / CSceneNodeAnimatorTexture.h
1 // Copyright (C) 2002-2012 Nikolaus Gebhardt\r
2 // This file is part of the "Irrlicht Engine".\r
3 // For conditions of distribution and use, see copyright notice in irrlicht.h\r
4 \r
5 #ifndef __C_SCENE_NODE_ANIMATOR_TEXTURE_H_INCLUDED__\r
6 #define __C_SCENE_NODE_ANIMATOR_TEXTURE_H_INCLUDED__\r
7 \r
8 #include "irrArray.h"\r
9 #include "ISceneNodeAnimatorFinishing.h"\r
10 \r
11 namespace irr\r
12 {\r
13 namespace scene\r
14 {\r
15         class CSceneNodeAnimatorTexture : public ISceneNodeAnimatorFinishing\r
16         {\r
17         public:\r
18 \r
19                 //! constructor\r
20                 CSceneNodeAnimatorTexture(const core::array<video::ITexture*>& textures,\r
21                         s32 timePerFrame, bool loop, u32 now);\r
22 \r
23                 //! destructor\r
24                 virtual ~CSceneNodeAnimatorTexture();\r
25 \r
26                 //! animates a scene node\r
27                 virtual void animateNode(ISceneNode* node, u32 timeMs) _IRR_OVERRIDE_;\r
28 \r
29                 //! Writes attributes of the scene node animator.\r
30                 virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const _IRR_OVERRIDE_;\r
31 \r
32                 //! Reads attributes of the scene node animator.\r
33                 virtual void deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options=0) _IRR_OVERRIDE_;\r
34 \r
35                 //! Returns type of the scene node animator\r
36                 virtual ESCENE_NODE_ANIMATOR_TYPE getType() const _IRR_OVERRIDE_ { return ESNAT_TEXTURE; }\r
37 \r
38                 //! Creates a clone of this animator.\r
39                 /** Please note that you will have to drop\r
40                 (IReferenceCounted::drop()) the returned pointer after calling\r
41                 this. */\r
42                 virtual ISceneNodeAnimator* createClone(ISceneNode* node, ISceneManager* newManager=0) _IRR_OVERRIDE_;\r
43 \r
44 \r
45         private:\r
46 \r
47                 void clearTextures();\r
48 \r
49                 core::array<video::ITexture*> Textures;\r
50                 u32 TimePerFrame;\r
51                 bool Loop;\r
52         };\r
53 \r
54 \r
55 } // end namespace scene\r
56 } // end namespace irr\r
57 \r
58 #endif\r
59 \r