!B (Sandbox) (CE-21795) Importing models with multisubmaterials via fbx switches...
[CRYENGINE.git] / Code / CryEngine / CrySchematyc2 / Script / Elements / ScriptProperty.h
blob6de10b45ac4ae3b7386b9ccc6db68ab82f56a8af
1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
3 #pragma once
5 #include <CrySchematyc2/AggregateTypeId.h>
6 #include <CrySchematyc2/Script/IScriptFile.h>
8 #include "Script/ScriptElementBase.h"
9 #include "Script/ScriptVariableDeclaration.h"
11 namespace Schematyc2
13 class CScriptProperty : public CScriptElementBase<IScriptProperty>
15 public:
17 CScriptProperty(IScriptFile& file);
18 CScriptProperty(IScriptFile& file, const SGUID& guid, const SGUID& scopeGUID, const char* szName, const SGUID& refGUID, const CAggregateTypeId& typeId);
20 // IScriptElement
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;
30 // ~IScriptElement
32 // IScriptProperty
33 virtual SGUID GetRefGUID() const override;
34 virtual EOverridePolicy GetOverridePolicy() const override;
35 virtual CAggregateTypeId GetTypeId() const override;
36 virtual IAnyConstPtr GetValue() const override;
37 // ~IScriptProperty
39 private:
41 SGUID m_guid;
42 SGUID m_scopeGUID;
43 SGUID m_refGUID;
44 EOverridePolicy m_overridePolicy;
45 CScriptVariableDeclaration m_declaration;
48 DECLARE_SHARED_POINTERS(CScriptProperty)