1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
5 #include <CrySchematyc2/AggregateTypeId.h>
6 #include <CrySchematyc2/Script/IScriptFile.h>
8 #include "Script/ScriptElementBase.h"
9 #include "Script/ScriptVariableDeclaration.h"
13 class CScriptProperty
: public CScriptElementBase
<IScriptProperty
>
17 CScriptProperty(IScriptFile
& file
);
18 CScriptProperty(IScriptFile
& file
, const SGUID
& guid
, const SGUID
& scopeGUID
, const char* szName
, const SGUID
& refGUID
, const CAggregateTypeId
& typeId
);
21 virtual EAccessor
GetAccessor() const override
;
22 virtual SGUID
GetGUID() const override
;
23 virtual SGUID
GetScopeGUID() const override
;
24 virtual bool SetName(const char* szName
) override
;
25 virtual const char* GetName() const override
;
26 virtual void EnumerateDependencies(const ScriptDependancyEnumerator
& enumerator
) const override
;
27 virtual void Refresh(const SScriptRefreshParams
& params
) override
;
28 virtual void Serialize(Serialization::IArchive
& archive
) override
;
29 virtual void RemapGUIDs(IGUIDRemapper
& guidRemapper
) override
;
33 virtual SGUID
GetRefGUID() const override
;
34 virtual EOverridePolicy
GetOverridePolicy() const override
;
35 virtual CAggregateTypeId
GetTypeId() const override
;
36 virtual IAnyConstPtr
GetValue() const override
;
44 EOverridePolicy m_overridePolicy
;
45 CScriptVariableDeclaration m_declaration
;
48 DECLARE_SHARED_POINTERS(CScriptProperty
)