#ifndef CABSTRACT_RESOURCE_HPP
#define CABSTRACT_RESOURCE_HPP
#include "../Utils/CSerializable.hpp"

namespace CosmicCore {
        /**
    * @brief Enum representing every type of resources that can be created.
    */
    enum class EResourceType : unsigned char {
        RESOURCE_MESH,
        RESOURCE_MATERIAL,
        RESOURCE_COUNT
    };

    const char* typeToString(EResourceType type);

    class CAbstractResource : public CSerializable{
        public:
            virtual ~CAbstractResource() = default;
            virtual nlohmann::json to_json() = 0;
    };

}

#endif