29class StarSystemViewUI;
33 void Update(
float delta_time);
44 glm::quat
GetBodyRotation(
double axial,
double rotation,
double day_offset);
87 std::optional<glm::vec3>
CheckIntersection(
const glm::vec3 &object_pos,
const glm::vec3 &ray_wor,
float radius);
Definition: starsystemcontroller.h:30
void CalculateCityPositions()
Definition: starsystemcontroller.cpp:386
void SeeEntity()
Definition: starsystemcontroller.cpp:439
void CityDetection()
Definition: starsystemcontroller.cpp:154
entt::entity selected_city
Definition: starsystemcontroller.h:97
double previous_mouseX
Definition: starsystemcontroller.h:99
glm::vec3 CalculateMouseRay(const glm::vec3 &ray_nds)
Definition: starsystemcontroller.cpp:376
glm::vec3 CalculateCenteredObject(const entt::entity &)
Definition: starsystemcontroller.cpp:453
const float SCROLL_SENSITIVITY
Definition: starsystemcontroller.h:130
StarSystemController(common::Universe &, engine::Application &, StarSystemCamera &)
Definition: starsystemcontroller.cpp:44
void FoundCity()
Definition: starsystemcontroller.cpp:299
glm::vec3 selected_province_color
Definition: starsystemcontroller.h:121
void PreRender()
Definition: starsystemcontroller.cpp:317
glm::vec3 GetMouseOnObjectPosition()
Definition: starsystemcontroller.h:36
void Update(float delta_time)
Definition: starsystemcontroller.cpp:47
friend StarSystemViewUI
Definition: starsystemcontroller.h:132
entt::entity GetMouseOnObject(int mouse_x, int mouse_y)
Definition: starsystemcontroller.cpp:416
void FocusCityView()
Definition: starsystemcontroller.cpp:322
entt::entity m_viewing_entity
Definition: starsystemcontroller.h:57
void FocusPlanetView()
Definition: starsystemcontroller.cpp:469
glm::vec3 CalculateObjectPos(const entt::entity &ent)
Definition: starsystemcontroller.cpp:459
const glm::vec3 & SelectedProvinceColor()
Definition: starsystemcontroller.cpp:437
bool is_founding_city
Definition: starsystemcontroller.h:126
entt::entity selected_province
Definition: starsystemcontroller.h:118
entt::entity hovering_province
Definition: starsystemcontroller.h:117
void CalculateViewChange(double deltaX, double deltaY)
Definition: starsystemcontroller.cpp:136
void MoveCamera(double delta_time)
Definition: starsystemcontroller.cpp:90
void SeePlanet(entt::entity ent)
Definition: starsystemcontroller.cpp:294
const float PAN_SPEED
Definition: starsystemcontroller.h:129
glm::vec3 mouse_on_object
Definition: starsystemcontroller.h:123
engine::Application & app
Definition: starsystemcontroller.h:92
int tex_b
Definition: starsystemcontroller.h:115
glm::vec3 GetMouseInScreenSpace(int mouse_x, int mouse_y)
Definition: starsystemcontroller.cpp:409
glm::vec3 hovering_province_color
Definition: starsystemcontroller.h:120
int tex_r
Debugging colors
Definition: starsystemcontroller.h:113
int tex_g
Definition: starsystemcontroller.h:114
int tex_y
Definition: starsystemcontroller.h:108
void CalculateScroll()
Definition: starsystemcontroller.cpp:122
bool is_rendering_founding_city
Definition: starsystemcontroller.h:125
void SelectCountry()
Definition: starsystemcontroller.cpp:273
void CenterCameraOnCity()
Definition: starsystemcontroller.cpp:220
bool IsFoundingCity()
Definition: starsystemcontroller.cpp:152
float GetScrollValue()
Definition: starsystemcontroller.cpp:134
entt::entity terrain_displaying
Definition: starsystemcontroller.h:96
glm::quat GetBodyRotation(double axial, double rotation, double day_offset)
Gets the quaternion to calculate the planet's rotation from the axial rotation and the rotation perio...
Definition: starsystemcontroller.cpp:210
bool ShouldDrawCityPrototype()
Definition: starsystemcontroller.cpp:435
common::Universe & universe
Definition: starsystemcontroller.h:91
StarSystemCamera & camera
Definition: starsystemcontroller.h:94
double previous_mouseY
Definition: starsystemcontroller.h:100
common::components::types::SurfaceCoordinate GetMouseSurfaceIntersection()
Definition: starsystemcontroller.cpp:191
const float CAMERA_MOVEMENT_SPEED
Definition: starsystemcontroller.h:128
glm::vec3 GetMouseIntersectionOnObject(int mouse_x, int mouse_y)
Definition: starsystemcontroller.cpp:354
std::optional< glm::vec3 > CheckIntersection(const glm::vec3 &object_pos, const glm::vec3 &ray_wor, float radius)
Definition: starsystemcontroller.cpp:339
void FocusOnEntity(entt::entity ent)
Definition: starsystemcontroller.cpp:252
entt::entity on_planet
Definition: starsystemcontroller.h:102
int tex_x
Debugging mouse position
Definition: starsystemcontroller.h:107
Definition: universe.h:38
Definition: application.h:48
Definition: imguidebugger.cpp:19
Definition: starsystemcamera.h:28
Longitude and lattitude. Planet coordinates.
Definition: coordinates.h:77