1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
3 // #SchematycTODO : Expose access scope!
7 #include <CrySchematyc2/Script/IScriptFile.h>
9 #include "Script/ScriptElementBase.h"
10 #include "Script/ScriptUserDocumentation.h"
11 #include "Script/ScriptVariableDeclaration.h"
15 class CScriptSignal
: public CScriptElementBase
<IScriptSignal
>
19 typedef std::vector
<CScriptVariableDeclaration
> Inputs
;
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);
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
;
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
;
50 SScriptUserDocumentation m_userDocumentation
;
53 DECLARE_SHARED_POINTERS(CScriptSignal
)