#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 CHECKERED 3 #include "globals.hpp" #include #include #include #include #include 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 dash_length { 0.0f }; float max_vertical_acceleration { 0.0f }; }; struct LevelData { std::array, MAX_ROWS> data {}; }; struct TimerData { std::string name { "NULL" }; float max_time { 1.f }; }; extern std::vector object_data; extern std::vector entity_data; extern std::vector level_data; extern std::vector timer_data; extern PlayerData player_data; #endif