!B (Sandbox) (CE-21795) Importing models with multisubmaterials via fbx switches...
[CRYENGINE.git] / Code / CryEngine / CrySchematyc2 / Deprecated / DocLogicGraph.h
blob7947ccc8aaea455c8a21d6db52ecb26233580ecd
1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
3 #pragma once
5 #include <CrySchematyc2/Script/IScriptFile.h>
7 #include "Deprecated/DocGraphBase.h"
9 namespace Schematyc2
11 class CDocLogicGraph : public CDocGraphBase
13 public:
15 CDocLogicGraph(IScriptFile& file, const SGUID& guid = SGUID(), const SGUID& scopeGUID = SGUID(), const char* szName = nullptr, EScriptGraphType type = EScriptGraphType::Unknown, const SGUID& contextGUID = SGUID());
17 // IScriptElement
18 virtual EAccessor GetAccessor() const override;
19 virtual EGraphExecutionFilter GetExecutionFilter() const override
21 return m_executionFilter;
23 virtual void EnumerateDependencies(const ScriptDependancyEnumerator& enumerator) const override;
24 virtual void Refresh(const SScriptRefreshParams& params) override;
25 virtual void Serialize(Serialization::IArchive& archive) override;
26 // ~IScriptElement
28 // IDocGraph
29 virtual void RefreshAvailableNodes(const CAggregateTypeId& inputTypeId) override;
30 // ~IDocGraph
32 protected:
34 // CDocGraphBase
35 virtual IScriptGraphNodePtr CreateNode(const SGUID& guid, EScriptGraphNodeType type, const SGUID& contextGUID, const SGUID& refGUID, Vec2 pos) override;
36 // ~CDocGraphBase
38 private:
40 struct SInfoSerializer
42 SInfoSerializer(CDocLogicGraph& _graph);
44 void Serialize(Serialization::IArchive& archive);
46 CDocLogicGraph& graph;
49 bool RefreshInputsAndOutputs();
50 void Validate(Serialization::IArchive& archive);
51 void VisitEnvGlobalFunctions(const IDomainContext& domainContext);
52 void VisitEnvAbstractInterfaces(const IDomainContext& domainContext);
53 void VisitEnvComponentMemberFunctions(const IDomainContext& domainContext);
54 void VisitEnvActionMemberFunctions(const IDomainContext& domainContext);
55 void VisitVariables(const IDomainContext& domainContext);
56 void VisitProperties(const IDomainContext& domainContext);
57 void VisitGraphs(const IDomainContext& domainContext);
59 EAccessor m_accessor;
60 EGraphExecutionFilter m_executionFilter;