OpenAstra
Loading...
Searching...
No Matches
capability_move.h
1
#ifndef CAPABILITY_MOVE_H
2
#define CAPABILITY_MOVE_H
3
4
#include <stdint.h>
5
6
#include "../engine/capability.h"
7
8
#include "../utils/starcoord.hpp"
9
#include "../utils/json.hpp"
10
20
class
Capability_move
21
:
public
Capability
22
{
23
public
:
24
static
constexpr
char
capabilityName[] =
"move"
;
25
static
Capability* createFromTemplate( std::shared_ptr<GameObject> future_parent,
const
nlohmann::json& template_data );
26
static
Capability* createFromDump(
ObjectId
id
);
27
28
public
:
29
Capability_move(
ObjectId
id
);
30
virtual
~Capability_move();
31
32
void
tick(
double
delta_time_s,
double
total_time_s );
33
34
private
:
35
void
_stopMoving();
36
void
_whileMoving(
double
delta_time_s );
37
void
_whileNotMoving();
38
39
StarCoord
_calculateIntermediary(
const
StarCoord
& a,
const
StarCoord
& b,
double
distance );
40
41
};
42
43
#endif
// CAPABILITY_MOVE_H
ObjectId
Definition
gameid.hpp:9
StarCoord
Definition
starcoord.hpp:16
server
capabilities
capability_move.h
Generated by
1.13.2