2022-08-06 03:01:59 +00:00
|
|
|
#pragma once
|
2021-12-05 17:54:36 +00:00
|
|
|
#include "Behavior.h"
|
|
|
|
|
|
|
|
class MovementSwitchBehavior final : public Behavior
|
|
|
|
{
|
2022-12-28 22:03:07 +00:00
|
|
|
private:
|
2021-12-05 17:54:36 +00:00
|
|
|
/*
|
|
|
|
* Members
|
|
|
|
*/
|
|
|
|
Behavior* m_airAction;
|
2022-07-28 13:39:57 +00:00
|
|
|
|
2021-12-05 17:54:36 +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:
|
2021-12-05 17:54:36 +00:00
|
|
|
/*
|
|
|
|
* Inherited
|
|
|
|
*/
|
2022-07-28 13:39:57 +00:00
|
|
|
explicit MovementSwitchBehavior(const uint32_t behavior_id) : Behavior(behavior_id) {
|
2021-12-05 17:54:36 +00:00
|
|
|
}
|
2022-07-28 13:39:57 +00:00
|
|
|
|
2021-12-05 17:54:36 +00:00
|
|
|
void Handle(BehaviorContext* context, RakNet::BitStream* bitStream, BehaviorBranchContext branch) override;
|
|
|
|
|
|
|
|
void Load() override;
|
|
|
|
};
|