summaryrefslogtreecommitdiff
path: root/src/networked_entities/networked_machine.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/networked_entities/networked_machine.h')
-rw-r--r--src/networked_entities/networked_machine.h42
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