Files

41 lines
1.1 KiB
C++
Raw Permalink Normal View History

#ifndef _CANIMTREENODE
#define _CANIMTREENODE
#include "Kyoto/Animation/CCharAnimMemoryMetrics.hpp"
#include "Kyoto/Animation/IAnimReader.hpp"
#include "rstl/pair.hpp"
#include "rstl/reserved_vector.hpp"
#include "rstl/string.hpp"
class CAnimTreeNode : public IAnimReader {
public:
CAnimTreeNode(const rstl::string&);
~CAnimTreeNode() override {
CCharAnimMemoryMetrics::SubtractFromTotalSize(x4_name.size(), CCharAnimMemoryMetrics::kASS_Two);
}
2022-12-05 23:35:31 +02:00
virtual CAnimTreeEffectiveContribution VGetContributionOfHighestInfluence() const = 0;
virtual uint VGetNumChildren() const = 0;
2026-03-27 12:46:13 -06:00
virtual rstl::rc_ptr< CAnimTreeNode > VGetBestUnblendedChild() const = 0;
virtual void VGetWeightedReaders(
float w, rstl::reserved_vector< rstl::pair< float, IAnimReader* >, 16 >& out) const = 0;
2026-03-27 12:46:13 -06:00
2022-12-05 23:35:31 +02:00
CAnimTreeEffectiveContribution GetContributionOfHighestInfluence() const {
return VGetContributionOfHighestInfluence();
}
2026-03-27 12:46:13 -06:00
rstl::rc_ptr< CAnimTreeNode > GetBestUnblendedChild() const {
return VGetBestUnblendedChild();
}
bool IsCAnimTreeNode() const override { return true; }
2026-03-27 12:46:13 -06:00
protected:
rstl::string x4_name;
};
#endif // _CANIMTREENODE