Files
2026-03-27 12:46:13 -06:00

54 lines
2.2 KiB
C++

#ifndef _CANIMTREESEQUENCE
#define _CANIMTREESEQUENCE
#include "Kyoto/Animation/CAnimSysContext.hpp"
#include "Kyoto/Animation/CAnimTreeSingleChild.hpp"
#include "Kyoto/Animation/CCharAnimTime.hpp"
#include "Kyoto/Animation/CSequenceHelper.hpp"
#include "rstl/rc_ptr.hpp"
#include "rstl/vector.hpp"
class IMetaAnim;
class CAnimTreeSequence : public CAnimTreeSingleChild {
public:
CAnimTreeSequence(const rstl::vector< rstl::rc_ptr< IMetaAnim > >& seq,
const CAnimSysContext& animSys, const rstl::string& name);
CAnimTreeSequence(const rstl::ncrc_ptr< CAnimTreeNode >& curNode,
const rstl::vector< rstl::rc_ptr< IMetaAnim > >& metaAnims,
const CAnimSysContext& animSys, int curIdx, const rstl::string& name,
const CSequenceFundamentals& fundamentals, const CCharAnimTime& time);
// IAnimReader
SAdvancementResults VAdvanceView(const CCharAnimTime& dt) override;
CCharAnimTime VGetTimeRemaining() const override;
CSteadyStateAnimInfo VGetSteadyStateAnimInfo() const override;
uint VGetBoolPOIList(const CCharAnimTime& time, CBoolPOINode* listOut, uint capacity,
uint iterator, int) const override;
uint VGetInt32POIList(const CCharAnimTime& time, CInt32POINode* listOut, uint capacity,
uint iterator, int) const override;
uint VGetParticlePOIList(const CCharAnimTime& time, CParticlePOINode* listOut, uint capacity,
uint iterator, int) const override;
uint VGetSoundPOIList(const CCharAnimTime& time, CSoundPOINode* listOut, uint capacity,
uint iterator, int) const override;
rstl::ownership_transfer< IAnimReader > VClone() const override;
// CAnimTreeNode
CAnimTreeEffectiveContribution VGetContributionOfHighestInfluence() const override;
rstl::rc_ptr< CAnimTreeNode > VGetBestUnblendedChild() const override;
virtual bool VSupportsReverseView() const;
virtual rstl::string VGetNodeType() const;
private:
CAnimSysContext x18_animCtx;
rstl::vector< rstl::rc_ptr< IMetaAnim > > x28_sequence;
int x38_curIdx;
CSequenceFundamentals x3c_fundamentals;
CCharAnimTime x94_curTime;
};
CHECK_SIZEOF(CAnimTreeSequence, 0x9C)
#endif // _CANIMTREESEQUENCE