#pragma once #include #include #include "Runtime/Character/CAnimSysContext.hpp" #include "Runtime/Character/CAnimTreeNode.hpp" #include "Runtime/Character/CBoolPOINode.hpp" #include "Runtime/Character/CInt32POINode.hpp" #include "Runtime/Character/CParticlePOINode.hpp" #include "Runtime/Character/CSoundPOINode.hpp" #include "Runtime/Character/CTransitionDatabaseGame.hpp" namespace metaforce { class IMetaAnim; class CSequenceFundamentals { CSteadyStateAnimInfo x0_ssInfo; std::vector x18_boolNodes; std::vector x28_int32Nodes; std::vector x38_particleNodes; std::vector x48_soundNodes; public: CSequenceFundamentals(const CSteadyStateAnimInfo& ssInfo, std::vector boolNodes, std::vector int32Nodes, std::vector particleNodes, std::vector soundNodes); const CSteadyStateAnimInfo& GetSteadyStateAnimInfo() const { return x0_ssInfo; } const std::vector& GetBoolPointsOfInterest() const { return x18_boolNodes; } const std::vector& GetInt32PointsOfInterest() const { return x28_int32Nodes; } const std::vector& GetParticlePointsOfInterest() const { return x38_particleNodes; } const std::vector& GetSoundPointsOfInterest() const { return x48_soundNodes; } }; class CSequenceHelper { CAnimSysContext x0_animCtx; std::vector> x10_treeNodes; std::vector x20_; public: CSequenceHelper(const std::shared_ptr& a, const std::shared_ptr& b, CAnimSysContext animCtx); CSequenceHelper(const std::vector>& nodes, CAnimSysContext animCtx); CSequenceFundamentals ComputeSequenceFundamentals(); }; } // namespace metaforce