DarkflameServer/dGame/dBehaviors/MovementSwitchBehavior.h

43 lines
853 B
C
Raw Normal View History

2022-08-06 03:01:59 +00:00
#pragma once
#include "Behavior.h"
class MovementSwitchBehavior final : public Behavior
{
2022-12-28 22:03:07 +00:00
private:
/*
* Members
*/
Behavior* m_airAction;
2022-07-28 13:39:57 +00:00
Behavior* m_doubleJumpAction;
Behavior* m_fallingAction;
Behavior* m_groundAction;
Behavior* m_jetpackAction;
Behavior* m_jumpAction;
2022-07-28 13:39:57 +00:00
2022-12-28 22:03:07 +00:00
Behavior* m_movingAction;
/**
* @brief Loads a movement type from the database into a behavior
*
* @param movementType The movement type to lookup in the database
* @param behaviorToLoad The Behavior where the result will be stored
*/
Behavior* LoadMovementType(std::string movementType);
public:
/*
* Inherited
*/
2022-07-28 13:39:57 +00:00
explicit MovementSwitchBehavior(const uint32_t behavior_id) : Behavior(behavior_id) {
}
2022-07-28 13:39:57 +00:00
void Handle(BehaviorContext* context, RakNet::BitStream* bitStream, BehaviorBranchContext branch) override;
void Load() override;
};