#pragma once #include #include #include #include "TypeRegistry.h" class ModelInfoFactory; class ModelInfo : public virtual Framework::ReferenceCounter { private: Framework::Text modelPath; Framework::RCArray texturePaths; bool transparent; float size; public: ModelInfo(const char* modelPath, Framework::RCArray texturePaths, bool transparent, float size); void writeTo(Framework::StreamWriter* zWriter) const; Framework::Text getModelPath() const; Framework::RCArray getTexturePaths() const; bool isTransparent() const; float getSize() const; friend ModelInfoFactory; }; class ModelInfoFactory : public TypeFactory { public: ModelInfoFactory(); ModelInfo* fromJson(Framework::JSON::JSONValue* zJson) const override; Framework::JSON::JSONValue* toJson(ModelInfo* zObject) const override; Framework::JSON::Validator::JSONValidator* getValidator() const override; };