From e2f3e4bd7118c8f55d20b29d76cb9a13acf72f8b Mon Sep 17 00:00:00 2001 From: Anson Bridges Date: Thu, 8 Sep 2022 16:42:07 -0400 Subject: gdnative testing. gdnative classes cannot be extended by gdscript --- src/networked_entities/networked_machine.h | 42 ++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/networked_entities/networked_machine.h (limited to 'src/networked_entities/networked_machine.h') 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 +#include + +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 -- cgit v1.2.3