!B (Sandbox) (CE-21795) Importing models with multisubmaterials via fbx switches...
[CRYENGINE.git] / Code / CryEngine / CrySchematyc2 / Script / Elements / ScriptSignal.h
blob1cb1212557ed0a7074edfa7b717775d97f49896f
1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
3 // #SchematycTODO : Expose access scope!
5 #pragma once
7 #include <CrySchematyc2/Script/IScriptFile.h>
9 #include "Script/ScriptElementBase.h"
10 #include "Script/ScriptUserDocumentation.h"
11 #include "Script/ScriptVariableDeclaration.h"
13 namespace Schematyc2
15 class CScriptSignal : public CScriptElementBase<IScriptSignal>
17 private:
19 typedef std::vector<CScriptVariableDeclaration> Inputs;
21 public:
23 // #SchematycTODO : Create two separate constructors: one default (before loading) and one for when element is created in editor.
24 CScriptSignal(IScriptFile& file, const SGUID& guid = SGUID(), const SGUID& scopeGUID = SGUID(), const char* szName = nullptr);
26 // IScriptElement
27 virtual EAccessor GetAccessor() const override;
28 virtual SGUID GetGUID() const override;
29 virtual SGUID GetScopeGUID() const override;
30 virtual bool SetName(const char* szName) override;
31 virtual const char* GetName() const override;
32 virtual void EnumerateDependencies(const ScriptDependancyEnumerator& enumerator) const override;
33 virtual void Refresh(const SScriptRefreshParams& params) override;
34 virtual void Serialize(Serialization::IArchive& archive) override;
35 virtual void RemapGUIDs(IGUIDRemapper& guidRemapper) override;
36 // ~IScriptElement
38 // IScriptSignal
39 virtual size_t GetInputCount() const override;
40 virtual const char* GetInputName(size_t inputIdx) const override;
41 virtual IAnyConstPtr GetInputValue(size_t inputIdx) const override;
42 // ~IScriptSignal
44 private:
46 SGUID m_guid;
47 SGUID m_scopeGUID;
48 string m_name;
49 Inputs m_inputs;
50 SScriptUserDocumentation m_userDocumentation;
53 DECLARE_SHARED_POINTERS(CScriptSignal)