#ifndef GALAXY_MENU_H #define GALAXY_MENU_H #include #include #include "galaxy.h" #include "include/Engine.h" #include #include class GalaxyMenu { public: GalaxyMenu(); ~GalaxyMenu(); // ======== All objects ========= std::vector galaxies; // ======== All objects ========= // ======== Main Methods ======== bool InitGalaxyMenu(std::string config_json, float scale = 1.f); void DrawGalaxyMenu(); void UpdateGalaxyMenu(float s_width, float s_height); // ======== Main Methods ======== void InteractWithGalaxy(/*..Vector/Vector/Int..*/); // Prototype for mouse/tap events // ::#Params#:: Eigen::Vector2f menuPosition = Eigen::Vector2f(0.f, 0.f); // relative to the screen center(0.f,0.f means center) (not const!!) float menuScale = 1.f; // (not const!!) float xDimension; float yDimension; std::vector> galaxies_params; // ::position/dimensions:: std::vector>> stars_params; private: void readSaveData(); // inner init method Eigen::Vector2f textureSizeNormalize(Eigen::Vector2f texVec, int t_type = 0/*0-galaxy, 1-stars*/); float val_clamp(float v, float min, float max); }; #endif