#pragma once #include <vector> #include "Runtime/CFactoryMgr.hpp" #include "Runtime/GCNTypes.hpp" #include "Runtime/Character/CBoolPOINode.hpp" #include "Runtime/Character/CInt32POINode.hpp" #include "Runtime/Character/CParticlePOINode.hpp" #include "Runtime/Character/CSoundPOINode.hpp" namespace metaforce { class CAnimPOIData { u32 x0_version; std::vector<CBoolPOINode> x4_boolNodes; std::vector<CInt32POINode> x14_int32Nodes; std::vector<CParticlePOINode> x24_particleNodes; std::vector<CSoundPOINode> x34_soundNodes; public: explicit CAnimPOIData(CInputStream& in); const std::vector<CBoolPOINode>& GetBoolPOIStream() const { return x4_boolNodes; } const std::vector<CInt32POINode>& GetInt32POIStream() const { return x14_int32Nodes; } const std::vector<CParticlePOINode>& GetParticlePOIStream() const { return x24_particleNodes; } const std::vector<CSoundPOINode>& GetSoundPOIStream() const { return x34_soundNodes; } }; CFactoryFnReturn AnimPOIDataFactory(const SObjectTag& tag, CInputStream& in, const CVParamTransfer& parms, CObjectReference* selfRef); } // namespace metaforce