OPTPiX SpriteStudio SDK
Loading...
Searching...
No Matches
ssloader_ssee.h
Go to the documentation of this file.
1#ifndef __SSLOADER_SSEE__
2#define __SSLOADER_SSEE__
3
4#include "sstypes.h"
5#include "ssarchiver.h"
6
7#include "SsEffectBehavior.h"
8
9#define SPRITESTUDIO6_SSEEVERSION "2.00.00"
10
11namespace spritestudio6
12{
13
15{
16public:
21
22public:
24 : parent(0),ctop(0),prev(0),next(0)
25 {}
26 virtual ~SimpleTree()
27 {
28 destroy();
29 }
30
32 if ( ctop == 0 )
33 {
34 ctop = c;
35 }else{
36 ctop->addSiblingEnd( c );
37 }
38 c->parent = this;
39 }
41 {
42 if ( next == 0 )
43 {
44 c->prev = this;
45 next = c;
46 }else{
47 next->addSiblingEnd(c);
48 }
49
50 c->parent = this->parent;
51 }
52
54 {
55 if ( t->ctop )
56 {
57 destroysub(t->ctop);
58 }
59 if ( t->next )
60 {
61 destroysub(t->next);
62 }
63
64 t->ctop = 0;
65 t->next = 0;
66 t->prev = 0;
67 delete t;
68 }
69 void destroy()
70 {
71 if ( this->ctop )
72 destroysub(this->ctop);
73 }
74};
75
76
77
78
79
80
113
114
116{
117private:
118 SsEffectNode* root;
119
120public:
121 std::vector<SsEffectNode*> nodeList;
122 int lockRandSeed; // ランダムシード固定値
123 bool isLockRandSeed; // ランダムシードを固定するか否か
124 int fps; //
129
130
131public:
132 SsEffectModel() : root(0)
133 {}
134
135 virtual ~SsEffectModel(){
136 if (root)
137 {
138 delete root;
139 }
140 root = 0;
141 }
142
143 //アクセス
144 SsEffectNode* GetRoot(){ return root;}
145
146
147 //シリアライザ
149 {
155 if ( layoutScaleX == 0 ) layoutScaleX = 100;
156
158 if ( layoutScaleY == 0 ) layoutScaleY = 100;
159
161
162 //ツリーの構築
163 if ( nodeList.size() > 0 )
164 {
165 root = nodeList[0];
166 for ( size_t i = 1 ; i < nodeList.size() ; i++ )
167 {
168 int pi = nodeList[i]->parentIndex;
169 if ( pi >= 0 )
170 {
171 nodeList[pi]->addChildEnd( nodeList[i] );
172 }
173 }
174 }
175
176 }
177
179
180 const std::vector<SsEffectNode*>& getNodeList()
181 {
182 return nodeList;
183 }
184
185
186};
187
188
208
209
210class SsProject;
213{
214public:
216 virtual ~ssloader_ssee(){}
217
218 static SsEffectFile* Load(const std::string& filename );
219 static void loadPostProcessing( SsEffectFile* file , SsProject* pj );
220};
221
222
223
224
225} // namespace spritestudio6
226
227#endif
アーカイバクラスのインターフェース
Definition ssarchiver.h:47
SimpleTree()
Definition ssloader_ssee.h:23
void addChildEnd(SimpleTree *c)
Definition ssloader_ssee.h:31
SimpleTree * prev
Definition ssloader_ssee.h:19
SimpleTree * next
Definition ssloader_ssee.h:20
void destroy()
Definition ssloader_ssee.h:69
void destroysub(SimpleTree *t)
Definition ssloader_ssee.h:53
SimpleTree * parent
Definition ssloader_ssee.h:17
SimpleTree * ctop
Definition ssloader_ssee.h:18
virtual ~SimpleTree()
Definition ssloader_ssee.h:26
void addSiblingEnd(SimpleTree *c)
Definition ssloader_ssee.h:40
Definition SsEffectBehavior.h:17
Definition ssloader_ssee.h:190
virtual ~SsEffectFile()
Definition ssloader_ssee.h:197
SsEffectModel effectData
Definition ssloader_ssee.h:193
SsString name
Definition ssloader_ssee.h:194
SsString version
Definition ssloader_ssee.h:192
SPRITESTUDIO6SDK_SERIALIZE_BLOCK
Definition ssloader_ssee.h:200
SsEffectFile()
Definition ssloader_ssee.h:196
SPRITESTUDIO6SDK_SSAR_STRUCT_DECLARE(effectData)
Definition ssloader_ssee.h:116
int layoutScaleX
Definition ssloader_ssee.h:127
int fps
Definition ssloader_ssee.h:124
bool isLockRandSeed
Definition ssloader_ssee.h:123
int layoutScaleY
Definition ssloader_ssee.h:128
SsEffectNode * GetRoot()
Definition ssloader_ssee.h:144
SPRITESTUDIO6SDK_SSAR_DECLARE_LISTEX(nodeList,"node")
SsString bgcolor
Definition ssloader_ssee.h:125
SsString effectName
Definition ssloader_ssee.h:126
SPRITESTUDIO6SDK_SSAR_DECLARE(isLockRandSeed)
void EffectNodeLoader(ISsXmlArchiver *ar)
int lockRandSeed
Definition ssloader_ssee.h:122
const std::vector< SsEffectNode * > & getNodeList()
Definition ssloader_ssee.h:180
SPRITESTUDIO6SDK_SSAR_DECLARE(layoutScaleY)
SPRITESTUDIO6SDK_SSAR_DECLARE(layoutScaleX)
std::vector< SsEffectNode * > nodeList
Definition ssloader_ssee.h:121
virtual ~SsEffectModel()
Definition ssloader_ssee.h:135
SPRITESTUDIO6SDK_SERIALIZE_BLOCK
Definition ssloader_ssee.h:149
SsEffectModel()
Definition ssloader_ssee.h:132
Definition ssloader_ssee.h:82
int arrayIndex
Definition ssloader_ssee.h:84
SsEffectBehavior behavior
Definition ssloader_ssee.h:89
bool visible
Definition ssloader_ssee.h:87
SPRITESTUDIO6SDK_SSAR_DECLARE(parentIndex)
SsEffectNodeType::_enum type
Definition ssloader_ssee.h:86
SsEffectNode()
Definition ssloader_ssee.h:92
int parentIndex
Definition ssloader_ssee.h:85
SsEffectNodeType::_enum GetType()
Definition ssloader_ssee.h:108
SsEffectBehavior * GetMyBehavior()
Definition ssloader_ssee.h:110
~SsEffectNode()
Definition ssloader_ssee.h:96
SPRITESTUDIO6SDK_SERIALIZE_BLOCK
Definition ssloader_ssee.h:99
SPRITESTUDIO6SDK_SSAR_STRUCT_DECLARE(behavior)
Definition ssloader_sspj.h:97
static SsEffectFile * Load(const std::string &filename)
Definition ssloader_ssee.cpp:14
static void loadPostProcessing(SsEffectFile *file, SsProject *pj)
Definition ssloader_ssee.cpp:37
virtual ~ssloader_ssee()
Definition ssloader_ssee.h:216
ssloader_ssee()
Definition ssloader_ssee.h:215
GLdouble t
Definition glad.h:2397
Definition sstypes.h:685
_enum
Definition sstypes.h:686
Definition ISsEffectRender.h:5
std::string SsString
Definition sstypes.h:30
#define SPRITESTUDIO6SDK_SSAR_DECLARE_ATTRIBUTE(t)
Definition ssarchiver.h:216
#define SPRITESTUDIO6SDK_SSAR_DECLARE(t)
Definition ssarchiver.h:215