| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #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 UITargetComponentReference : public UIReference
- {
- private:
- int componentIndex;
- public:
- UITargetComponentReference();
- virtual Framework::Text getReferenceId(
- Framework::Either<Block*, Entity*> zTarget,
- Entity* zActor) const override;
- friend class UITargetComponentReferenceFactory;
- };
- 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;
- };
- class UITargetComponentReferenceFactory
- : public SubTypeFactory<UIReference, UITargetComponentReference>
- {
- public:
- UITargetComponentReferenceFactory();
- virtual JSONObjectValidationBuilder* addToValidator(
- JSONObjectValidationBuilder* builder) const override;
- UITargetComponentReference* fromJson(
- Framework::JSON::JSONObject* zJson) const override;
- Framework::JSON::JSONObject* toJsonObject(
- UITargetComponentReference* zObject) const override;
- const char* getTypeToken() const override;
- };
|