CommonLibVR
hkpCharacterState.h
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace RE
6 {
7  class hkpCharacterContext;
8  struct hkpCharacterInput;
9  struct hkpCharacterOutput;
10 
12  {
13  enum hkpCharacterStateType : std::uint32_t
14  {
15  kOnGround = 0,
20 
23 
29 
30  kTotal
31  };
32  };
34 
36  {
37  public:
38  inline static constexpr auto RTTI = RTTI_hkpCharacterState;
39  inline static constexpr auto VTABLE = VTABLE_hkpCharacterState;
40 
41  ~hkpCharacterState() override; // 00
42 
43  virtual hkpCharacterStateType GetType() const = 0; // 03
44  virtual void EnterState(hkpCharacterContext& a_context, hkpCharacterStateType a_prevState, const hkpCharacterInput& a_input, hkpCharacterOutput& a_output); // 04 - { return; }
45  virtual void LeaveState(hkpCharacterContext& a_context, hkpCharacterStateType a_nextState, const hkpCharacterInput& a_input, hkpCharacterOutput& a_output); // 05 - { return; }
46  virtual void Update(hkpCharacterContext& a_context, const hkpCharacterInput& a_input, hkpCharacterOutput& a_output) = 0; // 06
47  virtual void Change(hkpCharacterContext& a_context, const hkpCharacterInput& a_input, hkpCharacterOutput& a_output) = 0; // 07
48  private:
49  KEEP_FOR_RE()
50  };
51  static_assert(sizeof(hkpCharacterState) == 0x10);
52 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: hkReferencedObject.h:11
Definition: hkpCharacterContext.h:41
Definition: hkpCharacterState.h:36
static constexpr auto VTABLE
Definition: hkpCharacterState.h:39
virtual void Change(hkpCharacterContext &a_context, const hkpCharacterInput &a_input, hkpCharacterOutput &a_output)=0
virtual void Update(hkpCharacterContext &a_context, const hkpCharacterInput &a_input, hkpCharacterOutput &a_output)=0
virtual void LeaveState(hkpCharacterContext &a_context, hkpCharacterStateType a_nextState, const hkpCharacterInput &a_input, hkpCharacterOutput &a_output)
virtual hkpCharacterStateType GetType() const =0
static constexpr auto RTTI
Definition: hkpCharacterState.h:38
~hkpCharacterState() override
virtual void EnterState(hkpCharacterContext &a_context, hkpCharacterStateType a_prevState, const hkpCharacterInput &a_input, hkpCharacterOutput &a_output)
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_hkpCharacterState
Definition: Offsets_VTABLE.h:14178
constexpr REL::ID RTTI_hkpCharacterState(static_cast< std::uint64_t >(690763))
Definition: hkpCharacterContext.h:14
Definition: hkpCharacterContext.h:35
Definition: hkpCharacterState.h:12
hkpCharacterStateType
Definition: hkpCharacterState.h:14
@ kUserState1
Definition: hkpCharacterState.h:24
@ kClimbing
Definition: hkpCharacterState.h:18
@ kJumping
Definition: hkpCharacterState.h:16
@ kSwimming
Definition: hkpCharacterState.h:22
@ kUserState4
Definition: hkpCharacterState.h:27
@ kUserState0
Definition: hkpCharacterState.h:21
@ kFlying
Definition: hkpCharacterState.h:19
@ kTotal
Definition: hkpCharacterState.h:30
@ kOnGround
Definition: hkpCharacterState.h:15
@ kInAir
Definition: hkpCharacterState.h:17
@ kUserState3
Definition: hkpCharacterState.h:26
@ kUserState2
Definition: hkpCharacterState.h:25
@ kUserState5
Definition: hkpCharacterState.h:28