19#include <fmt/format.h>
27#include <entt/entt.hpp>
46 std::map<std::string, entt::entity>
goods;
48 std::map<std::string, entt::entity>
recipes;
51 std::map<std::string, entt::entity>
fields;
53 std::map<std::string, entt::entity>
planets;
57 std::map<std::string, entt::entity>
cities;
70 std::unique_ptr<cqsp::common::util::IRandom>
random;
80 template <
typename... Components>
82 return this->
template view<Components...>() |
nodeTransform();
91class Node :
public entt::handle {
94 Node(entt::handle handle, entt::entity entity);
97 std::vector<Node> Convert(
const std::vector<entt::entity>&
entities);
98 Node Convert(
const entt::entity entity);
105 template <
typename FormatContext>
106 constexpr auto format(entt::entity entity, FormatContext& ctx)
const {
107 return formatter<std::string>::format(std::to_string((uint64_t)entity), ctx);
Definition: universe.h:91
Definition: universe.h:39
void DisableTick()
Definition: universe.h:65
std::map< std::string, actions::NameGenerator > name_generators
Definition: universe.h:50
std::unique_ptr< cqsp::common::util::IRandom > random
Definition: universe.h:70
std::map< entt::entity, std::map< int, entt::entity > > province_colors
Definition: universe.h:59
std::map< std::string, entt::entity > recipes
Definition: universe.h:48
std::vector< entt::entity > consumergoods
Definition: universe.h:47
int GetDate()
Definition: universe.h:69
std::map< std::string, entt::entity > planets
Definition: universe.h:53
std::map< std::string, entt::entity > terrain_data
Definition: universe.h:49
std::map< entt::entity, std::map< entt::entity, int > > colors_province
Definition: universe.h:61
systems::EconomyConfig economy_config
Definition: universe.h:85
std::map< std::string, entt::entity > goods
Definition: universe.h:46
std::map< std::string, entt::entity > cities
Definition: universe.h:57
auto nodeTransform()
Definition: universe.h:78
std::map< std::string, entt::entity > countries
Definition: universe.h:55
std::function< Node(entt::entity)> nodeFactory
Definition: universe.h:77
components::StarDate date
Definition: universe.h:44
void ToggleTick()
Definition: universe.h:67
Universe()
Definition: universe.cpp:26
bool ToTick()
Definition: universe.h:66
std::map< std::string, entt::entity > fields
Definition: universe.h:51
double tick_fraction
What is the current fraction of the wait of the tick we are processing
Definition: universe.h:76
std::map< std::string, entt::entity > provinces
Definition: universe.h:56
std::map< std::string, entt::entity > time_zones
Definition: universe.h:54
auto nodes()
Definition: universe.h:81
std::map< std::string, entt::entity > technologies
Definition: universe.h:52
entt::entity sun
Definition: universe.h:62
std::vector< Node > Convert(const std::vector< entt::entity > &entities)
Definition: universe.cpp:32
void EnableTick()
Definition: universe.h:64
bool to_tick
Definition: universe.h:88
std::string uuid
Definition: universe.h:71
Holds and calculates the tick that is on going. Date is the number of hours that has been ongoing sin...
Definition: stardate.h:45
int GetDate()
Definition: stardate.h:58
std::vector< std::string > entities
Definition: loadcities.cpp:40
Definition: cityactions.cpp:23
common::Universe * universe
Definition: turnsavewindow.h:3