#pragma once #include "InteractionConfig.h" class UIDialogElement; class OpenDialogInteractionConfig : public InteractionConfig { private: UIDialogElement* dialogElement; public: OpenDialogInteractionConfig(); ~OpenDialogInteractionConfig(); void setDialogElement(UIDialogElement* dialogElement); UIDialogElement* zDialogElement() const; protected: virtual bool onInteraction(Framework::Either target, Item* zItem, Entity* actor, bool& itemChanged) override; }; class OpenDialogInteractionConfigFactory : public InteractionConfigFactory { public: OpenDialogInteractionConfigFactory(); virtual JSONObjectValidationBuilder* addToValidator( JSONObjectValidationBuilder* builder) const override; virtual OpenDialogInteractionConfig* fromJson( Framework::JSON::JSONObject* zJson) const override; virtual Framework::JSON::JSONObject* toJsonObject( OpenDialogInteractionConfig* zObject) const override; virtual const char* getTypeToken() const override; protected: virtual OpenDialogInteractionConfig* createValue( Framework::JSON::JSONObject* zJson) const override; };