2018-05-22 12:00:30 +00:00
|
|
|
#ifndef GALAXY_OBJECTS_H
|
|
|
|
#define GALAXY_OBJECTS_H
|
|
|
|
|
|
|
|
#include "include/Engine.h"
|
|
|
|
#include <string>
|
|
|
|
|
2018-06-01 11:45:16 +00:00
|
|
|
#include "gamecode.h" // tmp
|
|
|
|
#include "level_interior.h"
|
|
|
|
|
2018-05-29 11:44:55 +00:00
|
|
|
class LevelSelection {
|
|
|
|
public:
|
|
|
|
|
2018-06-01 11:45:16 +00:00
|
|
|
/*..LEVELS..*/
|
|
|
|
/*..levels interior info..*/
|
2018-07-22 20:56:46 +00:00
|
|
|
std::vector<std::shared_ptr<TGameLevel>> gameLevels;
|
2018-06-01 11:45:16 +00:00
|
|
|
std::vector<std::vector<GameLevelInterior>> levelInterior;
|
2018-05-29 11:44:55 +00:00
|
|
|
|
|
|
|
// #params
|
|
|
|
//float buttons_plane_Yoffset = 0.2f; // relative to the screen
|
|
|
|
std::pair<Eigen::Vector2f, Eigen::Vector2f> params;
|
|
|
|
std::pair<Eigen::Vector2f, Eigen::Vector2f> buttons_plane;
|
|
|
|
std::vector<std::pair<Eigen::Vector2f, Eigen::Vector2f>> buttons;
|
|
|
|
|
|
|
|
Eigen::Vector2f offset = Eigen::Vector2f(0.f, 0.f); // offset
|
2018-05-30 11:21:50 +00:00
|
|
|
Eigen::Vector2f dim = Eigen::Vector2f(0.6f, 0.9f); // dimensions, y - is not const, relative to the levels count
|
2018-05-29 11:44:55 +00:00
|
|
|
|
2018-05-30 11:21:50 +00:00
|
|
|
/*..buttons plane params..*/
|
|
|
|
Eigen::Vector2f plane_size = Eigen::Vector2f(1.0f, 1.0f); // y- is not const, relative to the levels count
|
2018-05-29 11:44:55 +00:00
|
|
|
Eigen::Vector2f plane_pos = Eigen::Vector2f(0.f, 0.f); // relative to center
|
|
|
|
|
2018-05-30 11:21:50 +00:00
|
|
|
/*..buttons params..*/
|
2018-05-29 11:44:55 +00:00
|
|
|
int columns = 3;
|
2018-05-30 11:21:50 +00:00
|
|
|
float border_y_offset = 0.018f;
|
|
|
|
float border_x_offset = 0.018f;
|
|
|
|
float buttons_offset = 0.018f;
|
|
|
|
float buttons_ratio = 1.6f;
|
2018-05-29 11:44:55 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2018-05-22 12:00:30 +00:00
|
|
|
class StarObject {
|
|
|
|
public:
|
|
|
|
|
|
|
|
//StarObject(Eigen::Vector2f pos, std::string id/*star name*/);
|
|
|
|
//~StarObject();
|
|
|
|
|
|
|
|
// :::::::::::::
|
|
|
|
Eigen::Vector2f GetPosition();
|
|
|
|
// :::::::::::::
|
|
|
|
|
|
|
|
// ::#Levels#::
|
2018-05-28 11:31:01 +00:00
|
|
|
LevelSelection selectionMenu;
|
2018-05-22 12:00:30 +00:00
|
|
|
|
|
|
|
// ::#Params#::
|
2018-05-23 11:46:02 +00:00
|
|
|
std::string texture;
|
2018-10-02 17:45:26 +00:00
|
|
|
std::string textureName;
|
2018-05-22 12:00:30 +00:00
|
|
|
std::string name;
|
2018-05-23 11:46:02 +00:00
|
|
|
Eigen::Vector2f position;
|
|
|
|
float scale;
|
2018-05-22 12:00:30 +00:00
|
|
|
|
2018-06-01 11:45:16 +00:00
|
|
|
|
2018-05-22 12:00:30 +00:00
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|