#pragma once #include "CAnimTreeNode.hpp" #include "CBoolPOINode.hpp" #include "CInt32POINode.hpp" #include "CParticlePOINode.hpp" #include "CSoundPOINode.hpp" #include "CAnimSysContext.hpp" namespace urde { class IMetaAnim; class CTransitionDatabaseGame; 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, const std::vector& boolNodes, const std::vector& int32Nodes, const std::vector& particleNodes, const 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, const CAnimSysContext& animCtx); CSequenceHelper(const std::vector>& nodes, const CAnimSysContext& animCtx); CSequenceFundamentals ComputeSequenceFundamentals(); }; } // namespace urde