#ifndef DATA_HPP #define DATA_HPP // Timers #define DASH 1 #define LEVEL_SWITCH 2 // Maps #define EMPTY 0 #define DEFAULT 1 #define PLATFORM1 2 #define BASE 3 #include #include #include #include #include #include "globals.hpp" struct ObjectData { sf::Vector2 size { TILESIZE, TILESIZE }; sf::Vector2 pos { TILESIZE, TILESIZE }; sf::Color interior_color { sf::Color::Black }; sf::Color exterior_color { sf::Color::White }; float edge { -2.0f }; }; struct EntityData : ObjectData { sf::Vector2 velocity { 0, 0 }; }; struct PlayerData : EntityData { float max_dash_acceleration { 0.0f }; float max_vertical_acceleration { 0.0f }; }; struct LevelData { // std::array, MAX_ROWS> data {}; const char data[MAX_ROWS][MAX_COLS + 1]; }; struct TimerData { std::string name { "NULL" }; float max_time { 1.f }; }; extern const std::vector object_data; extern const std::vector entity_data; extern const std::vector level_data; extern const std::vector timer_data; extern const PlayerData player_data; #endif