diff options
Diffstat (limited to 'src/camera_controller/playercam.h')
| -rw-r--r-- | src/camera_controller/playercam.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/camera_controller/playercam.h b/src/camera_controller/playercam.h new file mode 100644 index 0000000..dd089de --- /dev/null +++ b/src/camera_controller/playercam.h @@ -0,0 +1,43 @@ +#ifndef PLAYERCAMGDS_H +#define PLAYERCAMGDS_H + +#include <Godot.hpp> +#include <ClippedCamera.hpp> +#include <RigidBody.hpp> +#include <SpringArm.hpp> +#include <Input.hpp> + +namespace godot { + +class PlayerCam : public ClippedCamera { + GODOT_CLASS(PlayerCam, ClippedCamera) + +private: + String mode; + Spatial* head; + Spatial* neck; + RigidBody* player; + SpringArm* arm; + Vector2 mouse_axis; + float mouse_sensitivity; + +public: + static void _register_methods(); + + PlayerCam(); + ~PlayerCam(); + + void _init(); + + void _ready(); + void _input(const Ref<InputEvent> event); + void attach(Node* new_parent, String c_mode, String extra_path = "."); + void mouse_firstperson(); + void mouse_thirdperson(); + void mouse_arm(); + void mouse_freecam(); + +}; + +} +#endif |
