#ifndef _CSPAWNSYSTEMKEYFRAMEDATA #define _CSPAWNSYSTEMKEYFRAMEDATA #include "Kyoto/CToken.hpp" #include #include #include class CInputStream; class CSimplePool; class CSpawnSystemKeyframeData { public: class CSpawnSystemKeyframeInfo { public: CSpawnSystemKeyframeInfo(CInputStream& in); void LoadToken(CSimplePool* pool); rstl::optional_object< CToken > GetToken() const { return x10_token; } private: uint x0_id; uint x4; uint x8; uint xc; rstl::optional_object< CToken > x10_token; }; CSpawnSystemKeyframeData(CInputStream& in); ~CSpawnSystemKeyframeData() {} void LoadAllSpawnedSystemTokens(CSimplePool* pool); rstl::vector< CSpawnSystemKeyframeInfo >& GetSpawnedSystemsAtFrame(uint frame); private: int mUnknown1; int mUnknown2; int mEndFrame; int mUnknown3; rstl::vector< rstl::pair< uint, rstl::vector< CSpawnSystemKeyframeInfo > > > mFrames; }; #endif // _CSPAWNSYSTEMKEYFRAMEDATA