generated from Persson-dev/Godot-Xmake
36 lines
744 B
C++
36 lines
744 B
C++
#pragma once
|
|
|
|
#include <client/Player.h>
|
|
#include <godot_cpp/classes/input_event_mouse_motion.hpp>
|
|
|
|
namespace blitz {
|
|
|
|
class PlayerController : public godot::Node {
|
|
GDCLASS(PlayerController, godot::Node)
|
|
protected:
|
|
static void _bind_methods();
|
|
|
|
public:
|
|
PlayerController();
|
|
~PlayerController();
|
|
|
|
// Godot overrides
|
|
void _unhandled_input(const godot::Ref<godot::InputEvent>&);
|
|
void _process(float delta);
|
|
void _ready();
|
|
|
|
private:
|
|
godot::Camera3D* m_Camera;
|
|
float m_BobTime;
|
|
float m_Speed;
|
|
Player* m_Player;
|
|
godot::Node3D* m_Head;
|
|
|
|
void UpdateBobbing(float delta);
|
|
void UpdateFOV(float delta);
|
|
void UpdateCamera(const godot::InputEventMouseMotion&);
|
|
void UpdateVelocity(float delta);
|
|
void Shoot();
|
|
};
|
|
|
|
} // namespace blitz
|