aboutsummaryrefslogtreecommitdiff
path: root/src/client/entity/moveable.hh
blob: fa08d2235955ec0f1cbc70da391d8d38eef1eaec (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
28
29
#ifndef CLIENT_ENTITY_MOVEABLE_HH_
#define CLIENT_ENTITY_MOVEABLE_HH_

#include "client/entity/animate.hh"
#include "client/state/chunks.hh"
#include "client/state/state.hh"
#include "client/world/chunk.hh"
#include "shared/entity/moveable.hh"

namespace client {

class moveable : virtual public client::animate,
                 virtual public shared::moveable,
                 virtual public shared::animate {
private:
    void repredict_from(const shared::tick_t& sequence) noexcept;

public:
    // Notify repredicts if necessary.
    virtual void notify(const shared::animate& animate,
                        const shared::tick_t& sequence,
                        const bool from_server) noexcept override;

    void extrapolate() noexcept;
};

} // namespace client

#endif