#ifndef DATA_HPP #define DATA_HPP #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 { ObjectData object; EntityData entity; float dash_length { 0.0f }; float max_vertical_acceleration { 0.0f }; }; class LevelData { public: std::array, MAX_ROWS> data = {}; std::string name = "Null"; }; extern std::vector object_data; extern std::vector entity_data; extern std::vector level_data; extern PlayerData player_data; #endif // DATA_HPP