double-hit-balls/game/galaxy_objects.h
2018-10-02 22:45:26 +05:00

70 lines
1.6 KiB
C++
Executable File

#ifndef GALAXY_OBJECTS_H
#define GALAXY_OBJECTS_H
#include "include/Engine.h"
#include <string>
#include "gamecode.h" // tmp
#include "level_interior.h"
class LevelSelection {
public:
/*..LEVELS..*/
/*..levels interior info..*/
std::vector<std::shared_ptr<TGameLevel>> gameLevels;
std::vector<std::vector<GameLevelInterior>> levelInterior;
// #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
Eigen::Vector2f dim = Eigen::Vector2f(0.6f, 0.9f); // dimensions, y - is not const, relative to the levels count
/*..buttons plane params..*/
Eigen::Vector2f plane_size = Eigen::Vector2f(1.0f, 1.0f); // y- is not const, relative to the levels count
Eigen::Vector2f plane_pos = Eigen::Vector2f(0.f, 0.f); // relative to center
/*..buttons params..*/
int columns = 3;
float border_y_offset = 0.018f;
float border_x_offset = 0.018f;
float buttons_offset = 0.018f;
float buttons_ratio = 1.6f;
private:
};
class StarObject {
public:
//StarObject(Eigen::Vector2f pos, std::string id/*star name*/);
//~StarObject();
// :::::::::::::
Eigen::Vector2f GetPosition();
// :::::::::::::
// ::#Levels#::
LevelSelection selectionMenu;
// ::#Params#::
std::string texture;
std::string textureName;
std::string name;
Eigen::Vector2f position;
float scale;
private:
};
#endif