#pragma once #include "UIElement.h" class UIReference; class UICraftingProgress : public UIElement { private: UIReference* reference; Framework::Text backgroundImagePath; Framework::Text foregroundImagePath; Framework::Text direction; public: UICraftingProgress(); ~UICraftingProgress(); void setReference(UIReference* reference); UIReference* zReference() const; void setBackgroundImagePath(const Framework::Text& backgroundImagePath); const Framework::Text& getBackgroundImagePath() const; void setForegroundImagePath(const Framework::Text& foregroundImagePath); const Framework::Text& getForegroundImagePath() const; void setDirection(const Framework::Text& direction); const Framework::Text& getDirection() const; virtual Framework::XML::Element* toUIML( Framework::Either zTarget, Entity* zActor) const override; }; class UICraftingProgressFactory : public UIElementFactory { public: UICraftingProgressFactory(); JSONObjectValidationBuilder* addToValidator( JSONObjectValidationBuilder* builder) const override; UICraftingProgress* fromJson( Framework::JSON::JSONObject* zJson) const override; Framework::JSON::JSONObject* toJsonObject( UICraftingProgress* zObject) const override; UICraftingProgress* createElement( Framework::JSON::JSONObject* zJson) const override; const char* getTypeToken() const override; };