aboutsummaryrefslogtreecommitdiff
path: root/src/client/movement/movement.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/movement/movement.hh')
-rw-r--r--src/client/movement/movement.hh27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/client/movement/movement.hh b/src/client/movement/movement.hh
new file mode 100644
index 0000000..19144ba
--- /dev/null
+++ b/src/client/movement/movement.hh
@@ -0,0 +1,27 @@
+#ifndef CLIENT_MOVEMENT_MOVEMENT_HH_
+#define CLIENT_MOVEMENT_MOVEMENT_HH_
+
+#include <cstdint>
+#include <optional>
+
+#include "client/state/state.hh"
+#include "client/world/chunk.hh"
+#include "shared/entity/moveable.hh"
+#include "shared/movement/movement.hh"
+#include "shared/net/net.hh"
+
+namespace client {
+namespace movement {
+
+std::optional<shared::animate> move(const shared::moveable& moveable,
+ const world::chunks_t& chunks) noexcept;
+
+enum class interact_mode { add, remove };
+std::optional<std::pair<shared::math::coords, glm::ivec3>>
+interact(const shared::moveable& player, const interact_mode& mode,
+ const world::chunks_t& chunks) noexcept;
+
+} // namespace movement
+} // namespace client
+
+#endif