!B (Sandbox) (CE-21795) Importing models with multisubmaterials via fbx switches...
[CRYENGINE.git] / Code / CryEngine / CrySchematyc2 / Signal.h
blob26cf46699720de3d7b888b3bd9849bbeb33b0a34
1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
3 #pragma once
5 #include <CrySchematyc2/ISignal.h>
7 namespace Schematyc2
9 class CSignal : public ISignal
11 public:
13 CSignal(const SGUID& guid, const SGUID& senderGUID = SGUID(), const char* szName = nullptr);
15 // ISignal
16 virtual SGUID GetGUID() const override;
17 virtual void SetSenderGUID(const SGUID& senderGUID) override;
18 virtual SGUID GetSenderGUID() const override;
19 virtual void SetName(const char* szName) override;
20 virtual const char* GetName() const override;
21 virtual void SetNamespace(const char* szNamespace) override;
22 virtual const char* GetNamespace() const override;
23 virtual void SetFileName(const char* szFileName, const char* szProjectDir) override;
24 virtual const char* GetFileName() const override;
25 virtual void SetAuthor(const char* szAuthor) override;
26 virtual const char* GetAuthor() const override;
27 virtual void SetDescription(const char* szDescription) override;
28 virtual const char* GetDescription() const override;
29 virtual void SetWikiLink(const char* szWikiLink) override;
30 virtual const char* GetWikiLink() const override;
31 virtual size_t GetInputCount() const override;
32 virtual const char* GetInputName(size_t inputIdx) const override;
33 virtual const char* GetInputDescription(size_t inputIdx) const override;
34 virtual TVariantConstArray GetVariantInputs() const override;
35 virtual IAnyConstPtr GetInputValue(size_t inputIdx) const override;
36 // ~ISignal
38 protected:
40 // ~ISignal
41 virtual size_t AddInput_Protected(const char* szName, const char* szDescription, const IAny& value) override;
42 // ~ISignal
44 private:
46 struct SInput
48 SInput(const char* _szName, const char* _szDescription, const IAnyPtr& _pValue);
50 string name;
51 string description;
52 IAnyPtr pValue;
55 typedef std::vector<SInput> Inputs;
57 SGUID m_guid;
58 SGUID m_senderGUID;
59 string m_name;
60 string m_namespace;
61 string m_fileName;
62 string m_author;
63 string m_description;
64 string m_wikiLink;
65 Inputs m_inputs;
66 TVariantVector m_variantInputs;
69 DECLARE_SHARED_POINTERS(CSignal)