#pragma once #include "SWA.inl" #include "CSD/Manager/csdmBase.h" #include "CSD/Manager/csdmResourceBase.h" #include "CSD/Manager/csdmSceneObserver.h" #include "CSD/Manager/csdmSubjectBase.h" namespace Chao::CSD { struct Scene; class CScene; class CNode; enum EMotionRepeatType : uint32_t { eMotionRepeatType_PlayOnce = 0, eMotionRepeatType_Loop = 1, eMotionRepeatType_PingPong = 2, eMotionRepeatType_PlayThenDestroy = 3 }; class CScene : public CResourceBase, SubjectBase, CBase { public: SWA_INSERT_PADDING(0x60); be m_PrevMotionFrame; be m_MotionFrame; be m_MotionSpeed; be m_MotionStartFrame; be m_MotionEndFrame; SWA_INSERT_PADDING(0x0C); be m_MotionDisableFlag; SWA_INSERT_PADDING(0x10); be m_MotionRepeatType; SWA_INSERT_PADDING(0x2C); ~CScene(); void Update(float in_DeltaTime = 0.0f); void Render(void* in_pUnk); void GetNode(RCPtr& out_rResult, const char* in_pName); bool SetMotion(const char* in_pName); void SetMotionFrame(float in_MotionFrame); void SetPosition(float in_X, float in_Y); void SetHideFlag(uint32_t in_HideFlag); void SetRotation(float in_Angle); void SetScale(float in_X, float in_Y); }; } #include "CSD/Manager/csdmScene.inl"