!B (Sandbox) (CE-21795) Importing models with multisubmaterials via fbx switches...
[CRYENGINE.git] / Code / CryEngine / CrySchematyc2 / Script / Elements / ScriptVariable.h
blob7c89ee72200f9cde3cf5e3d98440995943ee615e
1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
3 #pragma once
5 #include <CrySchematyc2/Script/IScriptFile.h>
7 #include "Script/ScriptElementBase.h"
8 #include "Script/ScriptVariableDeclaration.h"
10 namespace Schematyc2
12 class CScriptVariable : public CScriptElementBase<IScriptVariable>
14 public:
16 CScriptVariable(IScriptFile& file);
17 CScriptVariable(IScriptFile& file, const SGUID& guid, const SGUID& scopeGUID, const char* szName, const CAggregateTypeId& typeId);
19 // IScriptElement
20 virtual EAccessor GetAccessor() const override;
21 virtual SGUID GetGUID() const override;
22 virtual SGUID GetScopeGUID() const override;
23 virtual bool SetName(const char* szName) override;
24 virtual const char* GetName() const override;
25 virtual void EnumerateDependencies(const ScriptDependancyEnumerator& enumerator) const override;
26 virtual void Refresh(const SScriptRefreshParams& params) override;
27 virtual void Serialize(Serialization::IArchive& archive) override;
28 virtual void RemapGUIDs(IGUIDRemapper& guidRemapper) override;
29 // ~IScriptElement
31 // IScriptVariable
32 virtual CAggregateTypeId GetTypeId() const override;
33 virtual IAnyConstPtr GetValue() const override;
34 // ~IScriptVariable
36 private:
38 SGUID m_guid;
39 SGUID m_scopeGUID;
40 CScriptVariableDeclaration m_declaration;
43 DECLARE_SHARED_POINTERS(CScriptVariable)