From 123c1a2d9a5034902468b9f3ae5a139fff5c2f95 Mon Sep 17 00:00:00 2001 From: Anson Bridges Date: Tue, 20 Sep 2022 17:35:31 -0400 Subject: moving stuff off of laptop --- src/player_controller/playercontroller.h | 93 ++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 src/player_controller/playercontroller.h (limited to 'src/player_controller/playercontroller.h') diff --git a/src/player_controller/playercontroller.h b/src/player_controller/playercontroller.h new file mode 100644 index 0000000..402f7d3 --- /dev/null +++ b/src/player_controller/playercontroller.h @@ -0,0 +1,93 @@ +#ifndef PLAYERCONTROLLER_H +#define PLAYERCONTROLLER_H + +#include "playercam.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace godot { + +class PlayerController : public RigidBody { + GODOT_CLASS(PlayerController, RigidBody) + +private: + String team; + int health; + Node *weapon; + Spatial *world; + PlayerCam *cam; + float mouse_sensitivity; + float FOV; + Vector2 mouse_axis; + Spatial *head; + Spatial *neck; + RayCast *useray; + Label3D *nametag; + Vector3 velocity; + Vector3 direction; + Vector2 move_axis; + Vector3 floorspeed; + bool jumping; + bool can_jump; + NavigationAgent *nav; + float FLOOR_MAX_ANGLE; + float jump_height; + bool in_water; + float swim_speed; + float climb_speed; + bool controlling_machine; + RigidBody *machine; + bool is_player; + Spatial *ladder_m; + PhysicsDirectBodyState *player_state; + bool is_on_floor; + Vector3 floor_normal; + float acceleration; + float walk_speed; + float c_friction; + float air_control; + + +public: + static void _register_methods(); + + PlayerController(); + ~PlayerController(); + + void _init(); + + void _ready(); + Dictionary get_init_info(); + void mp_init(Dictionary init_info); + void set_phys_transform(Transform trfrm, Vector3 lvel); + void _process(float _delta); + void initiate_use(); + void set_net_owner(int owner_id); + void deselect_character(); + void take_control_of_machine(RigidBody *slave_machine); + void lose_machine(); + void _physics_process(float delta); + bool on_floor_test(); + void _integrate_forces(PhysicsDirectBodyState *state); + void walk(float _delta); + void jump(); + void swim(float _delta); + void enter_water(); + void exit_water(); + void mount_ladder(Spatial *target_ladder); + void climb_ladder(float delta); + void leave_ladder(); + void damage(int dmg_amt, String _type, Array shooter, String extra); + void remove_dead_character(); + void net_apply_impulse(Vector3 impulse_v); +}; + +} +#endif -- cgit v1.2.3