1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
5 #include <CrySchematyc2/Script/IScriptFile.h>
7 #include "Deprecated/DocGraphBase.h"
11 class CDocLogicGraph
: public CDocGraphBase
15 CDocLogicGraph(IScriptFile
& file
, const SGUID
& guid
= SGUID(), const SGUID
& scopeGUID
= SGUID(), const char* szName
= nullptr, EScriptGraphType type
= EScriptGraphType::Unknown
, const SGUID
& contextGUID
= SGUID());
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
;
29 virtual void RefreshAvailableNodes(const CAggregateTypeId
& inputTypeId
) override
;
35 virtual IScriptGraphNodePtr
CreateNode(const SGUID
& guid
, EScriptGraphNodeType type
, const SGUID
& contextGUID
, const SGUID
& refGUID
, Vec2 pos
) override
;
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
);
60 EGraphExecutionFilter m_executionFilter
;