mirror of https://github.com/PrimeDecomp/prime.git
47 lines
922 B
C++
47 lines
922 B
C++
#ifndef _CPASANIMPARM
|
|
#define _CPASANIMPARM
|
|
|
|
#include "types.h"
|
|
|
|
class CPASAnimParm {
|
|
public:
|
|
enum EParmType {
|
|
kPT_None = -1,
|
|
kPT_Int32 = 0,
|
|
kPT_UInt32 = 1,
|
|
kPT_Float = 2,
|
|
kPT_Bool = 3,
|
|
kPT_Enum = 4,
|
|
|
|
};
|
|
union UParmValue {
|
|
int m_int;
|
|
uint m_uint;
|
|
float m_float;
|
|
bool m_bool;
|
|
};
|
|
|
|
CPASAnimParm(UParmValue value, EParmType type);
|
|
|
|
static CPASAnimParm NoParameter();
|
|
static CPASAnimParm FromInt32(int value);
|
|
static CPASAnimParm FromUint32(uint value);
|
|
static CPASAnimParm FromReal32(float value);
|
|
static CPASAnimParm FromBool(bool val);
|
|
static CPASAnimParm FromEnum(int value);
|
|
|
|
int GetInt32Value() const;
|
|
uint GetUint32Value() const;
|
|
float GetReal32Value() const;
|
|
bool GetBoolValue() const;
|
|
int GetEnumValue() const;
|
|
|
|
UParmValue GetParameter() { return x0_value; }
|
|
|
|
private:
|
|
UParmValue x0_value;
|
|
EParmType x4_type;
|
|
};
|
|
|
|
#endif // _CPASANIMPARM
|