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.
headlessapplication.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 <map>
20#include <memory>
21#include <string>
22#include <vector>
23
24#include "client/conquerspace.h"
25#include "common/simulation.h"
26#include "common/universe.h"
29
30namespace cqsp::headless {
31
32typedef int (*HeadlessCommand)(cqsp::client::ConquerSpace&, std::vector<std::string> arguments);
33
35 public:
37 int run();
38
41
42 void InitSimulationPtr();
44
45 private:
48
50 std::unique_ptr<cqsp::common::systems::simulation::Simulation> simulation;
51
52 std::map<std::string, HeadlessCommand> command_map;
53};
54}; // namespace cqsp::headless
Definition: assetloader.h:44
Definition: assetmanager.h:46
Definition: conquerspace.h:24
Main simulation of game. /summary> To add a simulation in the game, add a class extending from cqsp::...
Definition: simulation.h:35
Definition: headlessapplication.h:34
std::map< std::string, HeadlessCommand > command_map
Definition: headlessapplication.h:52
cqsp::common::systems::simulation::Simulation & GetSimulation()
Definition: headlessapplication.cpp:115
cqsp::asset::AssetManager & GetAssetManager()
Definition: headlessapplication.cpp:31
cqsp::asset::AssetLoader asset_loader
Definition: headlessapplication.h:47
cqsp::client::ConquerSpace & GetGame()
Definition: headlessapplication.cpp:33
HeadlessApplication()
Definition: headlessapplication.cpp:35
std::unique_ptr< cqsp::common::systems::simulation::Simulation > simulation
Definition: headlessapplication.h:50
cqsp::asset::AssetManager asset_manager
Definition: headlessapplication.h:46
cqsp::client::ConquerSpace conquer_space
Definition: headlessapplication.h:49
void InitSimulationPtr()
Definition: headlessapplication.cpp:110
int run()
Definition: headlessapplication.cpp:53
Definition: generate.cpp:21
int(* HeadlessCommand)(cqsp::client::ConquerSpace &, std::vector< std::string > arguments)
Definition: headlessapplication.h:32