Files
Blitz3/include/client/PlayerController.h
2024-08-27 16:21:42 +02:00

39 lines
808 B
C++

#pragma once
#include <client/Player.h>
#include <godot_cpp/classes/input_event_mouse_motion.hpp>
namespace blitz {
class NetworkInterface;
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;
NetworkInterface* m_NetworkInterface;
void UpdateBobbing(float delta);
void UpdateFOV(float delta);
void UpdateCamera(const godot::InputEventMouseMotion&);
void UpdateVelocity(float delta);
void Shoot();
};
} // namespace blitz