diff options
| author | Anson Bridges <bridges.anson@gmail.com> | 2022-09-08 16:42:07 -0400 |
|---|---|---|
| committer | Anson Bridges <bridges.anson@gmail.com> | 2022-09-08 16:42:07 -0400 |
| commit | e2f3e4bd7118c8f55d20b29d76cb9a13acf72f8b (patch) | |
| tree | c2f177c7fc11d26f65f05f96e0a2a1996b4598ce /src/networked_entities/networked_machine.h | |
| parent | 366761197034a20d444282431e4a8edeb7882840 (diff) | |
gdnative testing. gdnative classes cannot be extended by gdscript
Diffstat (limited to 'src/networked_entities/networked_machine.h')
| -rw-r--r-- | src/networked_entities/networked_machine.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/networked_entities/networked_machine.h b/src/networked_entities/networked_machine.h new file mode 100644 index 0000000..573dbcc --- /dev/null +++ b/src/networked_entities/networked_machine.h @@ -0,0 +1,42 @@ +#ifndef NETWORKED_MACHINE_H +#define NETWORKED_MACHINE_H + +#include <Godot.hpp> +#include <RigidBody.hpp> + +namespace godot { + +class NetworkedMachine : public RigidBody { + GODOT_CLASS(NetworkedMachine, RigidBody) + +private: + bool in_use; + Spatial *world; + RigidBody *user; + +public: + static void _register_methods(); + + NetworkedMachine(); + ~NetworkedMachine(); + + void _ready(); + void _init(); + + void update_phys_transform(Transform t, Vector3 lv, Vector3 av); + void net_apply_impulse(Vector3 impulse_v); + void _integrate_forces(PhysicsDirectBodyState *_state); + void set_net_owner(int id, String char_name); + void relinquish_control(); + + //to be overridden + void on_new_control(); + void on_no_control(); + void attack1(); + void attack2(); + void direction_input(float _fwd, float _bwd, float _left, float _right, float _left2, float _right2); +}; + +} + +#endif |
