2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-05-15 03:11:22 +00:00
metaforce/Runtime/Character/IMetaAnim.hpp
2016-04-10 11:22:59 -10:00

38 lines
950 B
C++

#ifndef __PSHAG_IMETAANIM_HPP__
#define __PSHAG_IMETAANIM_HPP__
#include "../RetroTypes.hpp"
#include <set>
namespace urde
{
class CAnimTreeNode;
class CAnimSysContext;
class CMetaAnimTreeBuildOrders;
class CPrimitive;
enum class EMetaAnimType
{
Primitive,
Blend,
PhaseBlend,
Random,
Sequence
};
class IMetaAnim
{
public:
virtual ~IMetaAnim() = default;
virtual std::shared_ptr<CAnimTreeNode> GetAnimationTree(const CAnimSysContext& animSys,
const CMetaAnimTreeBuildOrders& orders) const=0;
virtual void GetUniquePrimitives(std::set<CPrimitive>& primsOut) const=0;
virtual EMetaAnimType GetType() const=0;
virtual std::shared_ptr<CAnimTreeNode> VGetAnimationTree(const CAnimSysContext& animSys,
const CMetaAnimTreeBuildOrders& orders) const=0;
};
}
#endif // __PSHAG_IMETAANIM_HPP__