32 #include "eng3d/color.hpp"
33 #include "eng3d/primitive.hpp"
34 #include "eng3d/shader.hpp"
35 #include "eng3d/font_sdf.hpp"
36 #include "eng3d/event.hpp"
96 std::unique_ptr<Eng3D::FontSDF> map_font;
97 std::shared_ptr<Eng3D::Texture> line_tex;
98 std::shared_ptr<Eng3D::Texture> skybox_tex;
99 std::unique_ptr<Eng3D::OpenGL::Program> tree_shder;
101 void check_left_mouse_release();
102 void check_right_mouse_release();
133 #ifndef E3D_TARGET_SWITCH
std::unique_ptr< Eng3D::Camera > camera
std::vector< glm::vec2 > tree_spawn_pos
std::unique_ptr< Eng3D::OpenGL::Program > obj_shader
glm::vec2 last_camera_drag_pos
void set_selected_province(bool selected, ProvinceId id)
std::vector< std::shared_ptr< Eng3D::Texture > > nation_flags
void handle_mouse_button(const Eng3D::Event::MouseButton &e)
Map(GameState &gs, const World &world, UI::Group *map_ui_layer, int screen_width, int screen_height)
std::vector< Interface::UnitWidget * > unit_widgets
std::vector< std::unique_ptr< Eng3D::Label3D > > province_labels
void set_selection(selector_func selector)
void set_map_mode(mapmode_generator mapmode_func, mapmode_tooltip tooltip_func)
std::unique_ptr< MapRender > map_render
void set_view(MapView view)
std::vector< std::unique_ptr< Eng3D::Label3D > > nation_labels
std::vector< std::shared_ptr< Eng3D::Texture > > unit_type_icons
void draw_flag(const Eng3D::OpenGL::Program &shader, const Nation &nation)
void handle_mouse_motions(const Eng3D::Event::MouseMotion &e)
void update_nation_label(const Nation &nation)
std::vector< Interface::BattleWidget * > battle_widgets
std::vector< std::shared_ptr< Eng3D::Model > > building_type_models
std::vector< std::shared_ptr< Eng3D::Texture > > building_type_icons
float wind_osc
Wind oscillator (for flags)
ProvinceId selected_province_id
std::vector< std::shared_ptr< Eng3D::Model > > tree_type_models
bool is_drag
Input states.
std::vector< std::shared_ptr< Eng3D::Model > > unit_type_models
A single province, which is used to simulate economy in a "bulk-tiles" way instead of doing economica...
Grouping to keep widgets together without triggering events.
std::function< std::string(const World &world, const ProvinceId id)> mapmode_tooltip
std::string political_province_tooltip(const World &world, const ProvinceId id)
std::string empty_province_tooltip(const World &world, const ProvinceId id)
std::function< void(const World &world, Map &map, const Province &province)> selector_func
std::function< std::vector< ProvinceColor >const World &world)> mapmode_generator
std::vector< ProvinceColor > political_map_mode(const World &world)
Primitive color type used through the engine.
ProvinceColor(ProvinceId _id, Eng3D::Color _color)