diff options
| author | Anson Bridges <bridges.anson@gmail.com> | 2022-09-19 17:44:22 -0400 |
|---|---|---|
| committer | Anson Bridges <bridges.anson@gmail.com> | 2022-09-19 17:44:22 -0400 |
| commit | 1d347e770fddcdd051890cdf070fd2779ab113bf (patch) | |
| tree | 6501fb000509819b7ba58df15c9a831c8bdc44fb /src/camera_controller/playercam.h | |
| parent | 2fd755132f526c48fed2c1867530526971e1cf19 (diff) | |
problems: player controller perf, boat perf, NAVSERVER PERF
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 |
