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.
colony.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 <vector>
20
21#include <entt/entity/entity.hpp>
22
23namespace cqsp::core::components {
25
27 // TODO(EhWhoAmI): This should be a vector or something as multiple entities might want to colonize a specific
28 // place
29 entt::entity colonizer;
31 // Progress in percentage or something
32 int progress = 0;
33};
34
35struct Colony {
36 // Since our population is likely to be very small, we should probably just have a resource ledger representing our
37 uint16_t population = 0;
38 uint16_t max_population = 0; // The capacity that our colony can store
39 uint16_t power = 0;
40 float comms_power = 0;
41 // The different stuff the different parts it will provide
42 std::vector<entt::entity> components;
43};
44
46 // Provides space for this many crew to live in
47 uint16_t crew;
48};
49
51 // Let's just make all comms modules perfect sdrs with infinite power lol
52 float power;
53};
54
56 // A control center and stuff
57 // ooh what if we just tack that on lol
58};
59
60struct Survey {};
61} // namespace cqsp::core::components
Definition: area.h:27
ColonizationSteps
Definition: colony.h:24
int progress
Definition: colony.h:32
ColonizationSteps steps
Definition: colony.h:30
entt::entity colonizer
Definition: colony.h:29
Definition: colony.h:35
uint16_t max_population
Definition: colony.h:38
std::vector< entt::entity > components
Definition: colony.h:42
uint16_t population
Definition: colony.h:37
float comms_power
Definition: colony.h:40
uint16_t power
Definition: colony.h:39
float power
Definition: colony.h:52
uint16_t crew
Definition: colony.h:47
Definition: colony.h:60