tp/include/JSystem/JStudio/JStudio_JParticle/control.h

143 lines
5.8 KiB
C++

#ifndef JSTUDIO_JPARTICLE_CONTROL_H
#define JSTUDIO_JPARTICLE_CONTROL_H
#include "JSystem/JParticle/JPAParticle.h"
#include "JSystem/JParticle/JPAEmitter.h"
#include "JSystem/JStage/JSGSystem.h"
#include "JSystem/JStudio/JStudio/jstudio-object.h"
namespace JStudio_JParticle {
struct TCreateObject : public JStudio::TCreateObject {
typedef JStudio::TObject* (*CreateFunc)(JStudio::stb::data::TParse_TBlock_object const&,
JStudio_JParticle::TCreateObject*);
TCreateObject(JPAEmitterManager* p_emitMgr, const JStage::TSystem* p_system) {
pJPAEmitterManager_ = p_emitMgr;
pJSGSystem_ = p_system;
mPermit_onExit_notEnd = false;
JUT_ASSERT(48, pJPAEmitterManager_!=0);
}
/* 8028E3A0 */ virtual ~TCreateObject();
/* 8028E400 */ virtual bool create(JStudio::TObject**,
JStudio::stb::data::TParse_TBlock_object const&);
/* 8028E474 */ virtual JPABaseEmitter* emitter_create(u32);
/* 8028E4E4 */ virtual void emitter_destroy(JPABaseEmitter*);
/* 8028E508 */ static JStudio::TObject*
createObject_JPA_PARTICLE_(JStudio::stb::data::TParse_TBlock_object const&,
JStudio_JParticle::TCreateObject*);
const JStage::TSystem* get_pJSGSystem_() { return pJSGSystem_; }
bool isPermit_onExit_notEnd() { return mPermit_onExit_notEnd; }
/* 0x0C */ JPAEmitterManager* pJPAEmitterManager_;
/* 0x10 */ const JStage::TSystem* pJSGSystem_;
/* 0x14 */ bool mPermit_onExit_notEnd;
};
struct TAdaptor_particle : public JStudio::TAdaptor_particle {
typedef JStudio::TObject_particle ObjectType;
struct TJPACallback_emitter_ : public JPAEmitterCallBack {
TJPACallback_emitter_(TAdaptor_particle* param_1) {
pThis_ = param_1;
pOld = NULL;
JUT_ASSERT(113, pThis_!=0);
}
/* 8028E700 */ virtual ~TJPACallback_emitter_() {}
/* 8028ECC0 */ virtual void execute(JPABaseEmitter*);
/* 8028F060 */ virtual void executeAfter(JPABaseEmitter*);
/* 8028F098 */ virtual void draw(JPABaseEmitter*);
/* 8028F0D0 */ virtual void drawAfter(JPABaseEmitter*);
JPAEmitterCallBack* getOld() { return pOld; }
void setOld(JPAEmitterCallBack* cb) { pOld = cb; }
/* 0x4 */ TAdaptor_particle* pThis_;
/* 0x8 */ JPAEmitterCallBack* pOld;
};
struct TJPAEmitter_stopDrawParticle_ {
TJPAEmitter_stopDrawParticle_(JPABaseEmitter* emitter) : pJPAEmitter_(emitter) {}
~TJPAEmitter_stopDrawParticle_() {
if (pJPAEmitter_ != NULL) {
pJPAEmitter_->stopDrawParticle();
}
}
void set(JPABaseEmitter* emitter) { pJPAEmitter_ = emitter; }
/* 0x0 */ JPABaseEmitter* pJPAEmitter_;
};
/* 8028E60C */ TAdaptor_particle(JStudio_JParticle::TCreateObject*);
/* 8028F108 */ void beginParticle_fadeIn_();
/* 8028F1C0 */ void endParticle_fadeOut_(u32);
/* 8028E760 */ virtual ~TAdaptor_particle();
/* 8028E850 */ virtual void adaptor_do_prepare();
/* 8028E97C */ virtual void adaptor_do_end();
/* 8028E980 */ virtual void adaptor_do_update(u32);
/* 8028EA68 */ virtual void adaptor_do_PARTICLE(JStudio::data::TEOperationData, void const*, u32);
/* 8028EA7C */ virtual void adaptor_do_BEGIN(JStudio::data::TEOperationData, void const*, u32);
/* 8028EAB0 */ virtual void adaptor_do_BEGIN_FADE_IN(JStudio::data::TEOperationData, void const*,
u32);
/* 8028EAF8 */ virtual void adaptor_do_END(JStudio::data::TEOperationData, void const*, u32);
/* 8028EB24 */ virtual void adaptor_do_END_FADE_OUT(JStudio::data::TEOperationData, void const*,
u32);
/* 8028EB6C */ virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const*, u32);
/* 8028EBD8 */ virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const*,
u32);
/* 8028EC58 */ virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const*,
u32);
/* 8028EC74 */ virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, void const*,
u32);
/* 8028EC88 */ virtual void adaptor_do_REPEAT(JStudio::data::TEOperationData, void const*, u32);
/* 8028ECA4 */ virtual void adaptor_do_ON_EXIT_NOT_END(JStudio::data::TEOperationData, void const*,
u32);
static bool state_isFade_(u8 param_1) {
return param_1 == 1 || param_1 == 3;
}
bool state_isFade_() {
return state_isFade_(field_0x1b8);
}
void beginParticle_fadeIn_(u32 param_1) {
field_0x1c8 = param_1;
beginParticle_fadeIn_();
}
void beginParticle_() {
beginParticle_fadeIn_(0);
}
void endParticle_() {
if (pJPAEmitter_ != NULL) {
pJPAEmitter_->becomeInvalidEmitter();
}
}
void set_bPermit_onExit_notEnd_(bool param_1) { field_0x1b4 = param_1; }
/* 0x1A0 */ TCreateObject* pCreateObject_;
/* 0x1A4 */ JPABaseEmitter* pJPAEmitter_;
/* 0x1A8 */ TJPACallback_emitter_ field_0x1a8;
/* 0x1B4 */ u8 field_0x1b4;
/* 0x1B5 */ u8 field_0x1b5;
/* 0x1B6 */ u8 field_0x1b6;
/* 0x1B7 */ u8 field_0x1b7;
/* 0x1B8 */ u8 field_0x1b8;
/* 0x1BC */ u32 field_0x1bc;
/* 0x1C0 */ u32 u32FadeTime_end;
/* 0x1C4 */ u32 field_0x1c4;
/* 0x1C8 */ u32 field_0x1c8;
/* 0x1CC */ u32 field_0x1cc;
/* 0x1D0 */ JStage::TObject* field_0x1d0;
/* 0x1D4 */ u32 field_0x1d4;
/* 0x1D8 */ u8 field_0x1d8;
};
}; // namespace JStudio_JParticle
#endif /* JSTUDIO_JPARTICLE_CONTROL_H */