aboutsummaryrefslogtreecommitdiff
path: root/src/client/movement/movement.hh
blob: 19144ba2929751c98b9a7de73521011233ac944d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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