| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #pragma once
- #include <Either.h>
- #include <ReferenceCounter.h>
- #include <Text.h>
- #include "TypeRegistry.h"
- class Block;
- class Entity;
- class UIReference : public Framework::ReferenceCounter
- {
- public:
- UIReference();
- virtual Framework::Text getReferenceId(
- Framework::Either<Block*, Entity*> zTarget, Entity* zActor) const
- = 0;
- };
- class UITargetReference : public UIReference
- {
- public:
- UITargetReference();
- virtual Framework::Text getReferenceId(
- Framework::Either<Block*, Entity*> zTarget,
- Entity* zActor) const override;
- };
- class UITActorReference : public UIReference
- {
- public:
- UITActorReference();
- virtual Framework::Text getReferenceId(
- Framework::Either<Block*, Entity*> zTarget,
- Entity* zActor) const override;
- };
- class UITargetReferenceFactory
- : public SubTypeFactory<UIReference, UITargetReference>
- {
- public:
- UITargetReferenceFactory();
- virtual JSONObjectValidationBuilder* addToValidator(
- JSONObjectValidationBuilder* builder) const override;
- UITargetReference* fromJson(
- Framework::JSON::JSONObject* zJson) const override;
- Framework::JSON::JSONObject* toJsonObject(
- UITargetReference* zObject) const override;
- const char* getTypeToken() const override;
- };
- class UITActorReferenceFactory
- : public SubTypeFactory<UIReference, UITActorReference>
- {
- public:
- UITActorReferenceFactory();
- virtual JSONObjectValidationBuilder* addToValidator(
- JSONObjectValidationBuilder* builder) const override;
- UITActorReference* fromJson(
- Framework::JSON::JSONObject* zJson) const override;
- Framework::JSON::JSONObject* toJsonObject(
- UITActorReference* zObject) const override;
- const char* getTypeToken() const override;
- };
|