Conquer Space
0.0.0
A space themed grand strategy game set in the near future, with realistic orbital mechanics, and an emphasis on economics and politics.
src
common
components
orders.h
Go to the documentation of this file.
1
/* Conquer Space
2
* Copyright (C) 2021-2025 Conquer Space
3
*
4
* This program is free software: you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation, either version 3 of the License, or
7
* (at your option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program. If not, see <https://www.gnu.org/licenses/>.
16
*/
17
#pragma once
18
19
#include <entt/entt.hpp>
20
21
#include "
common/components/orbit.h
"
22
23
namespace
cqsp::common::components
{
24
enum class
Command
{
25
CircularizeAtApoapsis
,
26
CircularizeAtPeriapsis
,
27
SetApoapsis
,
28
SetPeriapsis
,
29
SetInclination
,
30
MatchPlanes
,
31
CoplanarIntercept
,
// Just intercepts
32
CoplanarInterceptAndTransfer
,
// Intercepts and matches orbit
33
Impulse
,
34
LandOnBody
,
35
InterceptAndCircularizeBody
,
// More generic command that will transition through spheres of influence
36
ForceMatchPlanes
,
// Matches planes immediately. Needs a corresponding orbit to match
37
ExitSOI
,
38
SelfDestruct
39
};
40
41
enum class
Trigger
{
42
// When to trigger the command
43
OnEnterSOI
,
44
OnExitSOI
,
45
OnManeuver
,
// When the previous manuever is executed
46
OnCrash
,
47
};
48
49
struct
OrbitTarget
{
50
types::Orbit
orbit
;
51
};
52
53
struct
OrbitScalar
{
54
double
value
;
// Modifies the orbit by some sort of scalar
55
};
56
57
struct
OrbitEntityTarget
{
58
entt::entity
target
;
59
};
60
}
// namespace cqsp::common::components
cqsp::common::components
Definition:
area.h:23
cqsp::common::components::Trigger
Trigger
Definition:
orders.h:41
cqsp::common::components::Trigger::OnManeuver
@ OnManeuver
cqsp::common::components::Trigger::OnExitSOI
@ OnExitSOI
cqsp::common::components::Trigger::OnCrash
@ OnCrash
cqsp::common::components::Trigger::OnEnterSOI
@ OnEnterSOI
cqsp::common::components::Command
Command
Definition:
orders.h:24
cqsp::common::components::Command::ExitSOI
@ ExitSOI
cqsp::common::components::Command::SelfDestruct
@ SelfDestruct
cqsp::common::components::Command::LandOnBody
@ LandOnBody
cqsp::common::components::Command::SetInclination
@ SetInclination
cqsp::common::components::Command::MatchPlanes
@ MatchPlanes
cqsp::common::components::Command::CircularizeAtApoapsis
@ CircularizeAtApoapsis
cqsp::common::components::Command::ForceMatchPlanes
@ ForceMatchPlanes
cqsp::common::components::Command::CircularizeAtPeriapsis
@ CircularizeAtPeriapsis
cqsp::common::components::Command::Impulse
@ Impulse
cqsp::common::components::Command::InterceptAndCircularizeBody
@ InterceptAndCircularizeBody
cqsp::common::components::Command::SetPeriapsis
@ SetPeriapsis
cqsp::common::components::Command::CoplanarIntercept
@ CoplanarIntercept
cqsp::common::components::Command::SetApoapsis
@ SetApoapsis
cqsp::common::components::Command::CoplanarInterceptAndTransfer
@ CoplanarInterceptAndTransfer
orbit.h
cqsp::common::components::OrbitEntityTarget
Definition:
orders.h:57
cqsp::common::components::OrbitEntityTarget::target
entt::entity target
Definition:
orders.h:58
cqsp::common::components::OrbitScalar
Definition:
orders.h:53
cqsp::common::components::OrbitScalar::value
double value
Definition:
orders.h:54
cqsp::common::components::OrbitTarget
Definition:
orders.h:49
cqsp::common::components::OrbitTarget::orbit
types::Orbit orbit
Definition:
orders.h:50
cqsp::common::components::types::Orbit
Definition:
orbit.h:41
Generated on Thu Nov 13 2025 07:56:54 for Conquer Space by
1.9.2