!B (Sandbox) (CE-21795) Importing models with multisubmaterials via fbx switches...
[CRYENGINE.git] / Code / CryEngine / CrySchematyc2 / Deprecated / DocGraphNodes / DocGraphAbstractInterfaceFunctionNode.h
bloba59effbb444dd12df971d97ccc2bf8d5172b48b4
1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
3 #pragma once
5 #include "Deprecated/DocGraphNodes/DocGraphNodeBase.h"
7 namespace Schematyc2
9 class CDocGraphAbstractInterfaceFunctionNode : public CDocGraphNodeBase
11 public:
13 CDocGraphAbstractInterfaceFunctionNode(IScriptFile& file, IDocGraph& graph, const SGUID& guid = SGUID(), const SGUID& contextGUID = SGUID(), const SGUID& refGUID = SGUID(), Vec2 pos = Vec2(ZERO));
15 // IScriptGraphNode
16 virtual IAnyConstPtr GetCustomOutputDefault() const override;
17 virtual size_t AddCustomOutput(const IAny& value) override;
18 virtual void EnumerateOptionalOutputs(const ScriptGraphNodeOptionalOutputEnumerator& enumerator) override;
19 virtual size_t AddOptionalOutput(const char* szName, EScriptGraphPortFlags flags, const CAggregateTypeId& typeId) override;
20 virtual void RemoveOutput(size_t outputIdx) override;
21 virtual void Refresh(const SScriptRefreshParams& params) override;
22 virtual void Serialize(Serialization::IArchive& archive) override;
23 virtual void PreCompileSequence(IDocGraphSequencePreCompiler& preCompiler, size_t outputIdx) const override;
24 virtual void LinkSequence(IDocGraphSequenceLinker& linker, size_t outputIdx, const LibFunctionId& functionId) const override;
25 virtual void Compile(IDocGraphNodeCompiler& compiler, EDocGraphSequenceStep sequenceStep, size_t portIdx) const override;
26 // ~IScriptGraphNode
28 private:
30 struct EInput
32 enum
34 In = 0,
35 Object,
36 FirstParam
40 struct EOutput
42 enum
44 True = 0,
45 False,
46 FirstParam
50 struct EStackFrame
52 enum
54 Body,
55 True,
56 False
60 struct EMarker
62 enum
64 False,
65 End
69 void CompileInputs(IDocGraphNodeCompiler& compiler) const;
70 void CompileTrue(IDocGraphNodeCompiler& compiler) const;
71 void CompileFalse(IDocGraphNodeCompiler& compiler) const;
72 void CompileEnd(IDocGraphNodeCompiler& compiler) const;
74 // #SchematycTODO : Can we store domain/origin?
75 IAnyPtrVector m_inputValues;
76 IAnyPtrVector m_outputValues;