#ifndef __URDE_CSEQUENCEHELPER_HPP__ #define __URDE_CSEQUENCEHELPER_HPP__ #include "CAnimTreeNode.hpp" #include "CBoolPOINode.hpp" #include "CInt32POINode.hpp" #include "CParticlePOINode.hpp" #include "CSoundPOINode.hpp" namespace urde { struct CAnimSysContext; 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: /* HACK: Remove this default constructor */ CSequenceFundamentals() = default; 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 { TLockedToken x0_transDB; std::vector> x10_treeNodes; std::vector x20_; public: /* HACK: Remove this default constructor */ CSequenceHelper() = default; CSequenceHelper(const std::shared_ptr& a, const std::shared_ptr& b, const CAnimSysContext& animCtx); CSequenceHelper(const std::vector>& nodes, const CAnimSysContext& animCtx); CSequenceFundamentals ComputeSequenceFundamentals(); }; } #endif // __URDE_CSEQUENCEHELPER_HPP__