double-hit-balls/game/galaxy_objects.h

70 lines
1.6 KiB
C
Raw Normal View History

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..*/
std::vector<std::string> levels; // levels names, uses gameLevels init
/*..levels interior info..*/
std::vector<TGameLevel> gameLevels;
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-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