11#include "../../Source/third_party/nlohmann/json.hpp"
58 bool SaveToFile(
const std::string& filepath)
const;
72 const std::string& spritePath,
ComponentTypeID GetComponentTypeID_Static()
ComponentData CreateVisualSpriteComponent(const std::string &spritePath, float srcX, float srcY, float srcWidth, float srcHeight, float hotSpotX, float hotSpotY)
ComponentData CreateBoundingBoxComponent(float x, float y, float width, float height)
ComponentData CreateMovementComponent(float dirX, float dirY, float velX, float velY)
ComponentData CreateAIBehaviorComponent(const std::string &behaviorType)
ComponentData CreatePositionComponent(float x, float y)
ComponentData CreatePhysicsBodyComponent(float mass, float speed)
ComponentData CreateHealthComponent(int current, int max)
ComponentData(const std::string &t)
ComponentData(const std::string &t, const json &props)
void AddComponent(const std::string &type, const json &properties)
static EntityBlueprint LoadFromFile(const std::string &filepath)
std::vector< ComponentData > components
EntityBlueprint(const std::string &n)
EntityBlueprint()=default
bool SaveToFile(const std::string &filepath) const
static EntityBlueprint FromJson(const json &j)
bool RemoveComponent(const std::string &type)
ComponentData * GetComponent(const std::string &type)
bool HasComponent(const std::string &type) const