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.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
isimulationsystem.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/game.h"
22#include "common/universe.h"
23
24namespace cqsp {
25namespace common {
26namespace systems {
28 public:
30 virtual ~ISimulationSystem() = default;
31 virtual void DoSystem() = 0;
32
36 virtual int Interval() { return components::StarDate::DAY; }
37
38 protected:
39 Game& GetGame() { return game; }
41
42 private:
44};
45} // namespace systems
46} // namespace common
47} // namespace cqsp
Wrapper class for all the components of the game, so that all the game stuff can be initialized in on...
Definition: game.h:28
Universe & GetUniverse()
Definition: game.h:33
Definition: universe.h:34
static const int DAY
Definition: stardate.h:51
Definition: isimulationsystem.h:27
Game & GetGame()
Definition: isimulationsystem.h:39
ISimulationSystem(Game &game)
Definition: isimulationsystem.h:29
Game & game
Definition: isimulationsystem.h:43
Universe & GetUniverse()
Definition: isimulationsystem.h:40
virtual int Interval()
Definition: isimulationsystem.h:36
When adding assets, it is extremely crucial that you read cqsp::asset::AssetLoader::LoadResources to ...
Definition: clientctx.h:22