OpenBarnyard
 
Loading...
Searching...
No Matches
AAnimatableObjectType.h
Go to the documentation of this file.
1#pragma once
2#include "AModel.h"
5
6#include <Toshi/T2DList.h>
7#include <Toshi/TPString8.h>
8#include <Toshi/T2Vector.h>
9
11
13class AModelInstance;
14
16 : public Toshi::T2DList<AAnimatableObjectType>::Node
17{
18public:
19 constexpr static TSIZE MAX_ANIMATION_SETS = 6;
20
21public:
22 // constructors/destructor
24 virtual ~AAnimatableObjectType();
25
26 virtual TBOOL CreateFromProperties( const PBProperties* a_pProperties, const Toshi::TPString8& a_rcName );
27 virtual TBOOL Create( const Toshi::TPString8& a_rcName );
28 virtual void OnAnimatableObjectCreated( AAnimatableObject* a_pAnimatableObject );
29
30 void Destroy();
31
32 ANamedAnimationSetRef FindAnimationSet( const Toshi::TPString8& a_rcName ) const;
36
38
39 const Toshi::TPString8& GetName() const { return m_strName; }
40 AModel* GetModel() const { return m_pAModel; }
41
42 Toshi::T2DList<AAnimControllerType>& GetAnimControllerTypes() { return m_llAnimControllerTypes; }
43
44private:
45 TBOOL LoadAnimationSet( const PBProperties* a_pProperties );
46 TBOOL SetAnimController( const PBProperties* a_pProperties );
47 TBOOL SetSkins( const PBProperties* a_pProperties );
48
49private:
50 Toshi::TPString8 m_strName;
51 Toshi::T2Vector<ANamedAnimationSetRef, MAX_ANIMATION_SETS> m_vecAnimationSets;
52 Toshi::T2DList<AAnimControllerType> m_llAnimControllerTypes;
53 AModel* m_pAModel;
54 void* m_pUnk;
55};
size_t TSIZE
Definition Typedefs.h:9
int TINT
Definition Typedefs.h:7
bool TBOOL
Definition Typedefs.h:6
Toshi::TRef< ANamedAnimationSet > ANamedAnimationSetRef
const Toshi::TPString8 & GetName() const
ANamedAnimationSetRef GetDefaultAnimationSet() const
ANamedAnimationSetRef FindAnimationSet(const Toshi::TPString8 &a_rcName) const
static constexpr TSIZE MAX_ANIMATION_SETS
ANamedAnimationSetRef GetAnimationSet(TINT a_iIndex) const
Toshi::T2DList< AAnimControllerType > & GetAnimControllerTypes()
virtual TBOOL Create(const Toshi::TPString8 &a_rcName)
virtual TBOOL CreateFromProperties(const PBProperties *a_pProperties, const Toshi::TPString8 &a_rcName)
virtual void OnAnimatableObjectCreated(AAnimatableObject *a_pAnimatableObject)