authority/modules/authority/player_states.h

29 lines
677 B
C++

#pragma once
#include "authority/character.h"
class PlayerInputState : public CharacterState {
GDCLASS(PlayerInputState, CharacterState);
static void _bind_methods();
protected:
void unhandled_input(Ref<InputEvent> const &event) override;
void state_entered() override;
void state_exited() override;
};
class PlayerMovementState : public CharacterState {
GDCLASS(PlayerMovementState, CharacterState);
static void _bind_methods();
void ready();
void process(double delta);
protected:
void _notification(int what);
void input(Ref<InputEvent> const &event) override;
void state_entered() override;
void state_exited() override;
private:
Vector2 movement{};
};