!B (Sandbox) (CE-21795) Importing models with multisubmaterials via fbx switches...
[CRYENGINE.git] / Code / Sandbox / Plugins / EditorSchematyc2 / Bridge / Private / Script / Bridge_ScriptFile.h
blobdebf4b1ad035124130244fbef22ca2bb9272e54b
1 // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
3 #pragma once
5 #include <CrySchematyc2/Script/IScriptFile.h>
7 #include "Bridge_IScriptFile.h"
9 namespace Bridge {
11 class CScriptFile : public IScriptFile
13 public:
14 CScriptFile(Schematyc2::IScriptFile* file);
16 // IScriptFile
17 virtual Schematyc2::IScriptFile* GetDelegate() const override;
19 virtual const char* GetFileName() const override;
20 virtual Schematyc2::SGUID GetGUID() const override;
22 virtual void SetFlags(Schematyc2::EScriptFileFlags flags) override;
23 virtual Schematyc2::EScriptFileFlags GetFlags() const override;
25 virtual Schematyc2::IScriptInclude* AddInclude(const Schematyc2::SGUID& scopeGUID, const char* szFileName, const Schematyc2::SGUID& refGUID) override;
26 virtual Schematyc2::IScriptInclude* GetInclude(const Schematyc2::SGUID& guid) override;
27 virtual const Schematyc2::IScriptInclude* GetInclude(const Schematyc2::SGUID& guid) const override;
29 virtual Schematyc2::EVisitStatus VisitIncludes(const Schematyc2::ScriptIncludeVisitor& visitor) override;
30 virtual Schematyc2::EVisitStatus VisitIncludes(const Schematyc2::ScriptIncludeVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
31 virtual Schematyc2::EVisitStatus VisitIncludes(const Schematyc2::ScriptIncludeConstVisitor& visitor) const override;
32 virtual Schematyc2::EVisitStatus VisitIncludes(const Schematyc2::ScriptIncludeConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
34 virtual Schematyc2::IScriptGroup* AddGroup(const Schematyc2::SGUID& scopeGUID, const char* szName) override;
35 virtual Schematyc2::IScriptGroup* GetGroup(const Schematyc2::SGUID& guid) override;
36 virtual const Schematyc2::IScriptGroup* GetGroup(const Schematyc2::SGUID& guid) const override;
38 virtual Schematyc2::EVisitStatus VisitGroups(const Schematyc2::ScriptGroupVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
39 virtual Schematyc2::EVisitStatus VisitGroups(const Schematyc2::ScriptGroupConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
41 virtual Schematyc2::IScriptEnumeration* AddEnumeration(const Schematyc2::SGUID& scopeGUID, const char* szName) override;
42 virtual Schematyc2::IScriptEnumeration* GetEnumeration(const Schematyc2::SGUID& guid) override;
43 virtual const Schematyc2::IScriptEnumeration* GetEnumeration(const Schematyc2::SGUID& guid) const override;
45 virtual Schematyc2::EVisitStatus VisitEnumerations(const Schematyc2::ScriptEnumerationVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
46 virtual Schematyc2::EVisitStatus VisitEnumerations(const Schematyc2::ScriptEnumerationConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
48 virtual Schematyc2::IScriptStructure* AddStructure(const Schematyc2::SGUID& scopeGUID, const char* szName) override;
49 virtual Schematyc2::IScriptStructure* GetStructure(const Schematyc2::SGUID& guid) override;
50 virtual const Schematyc2::IScriptStructure* GetStructure(const Schematyc2::SGUID& guid) const override;
52 virtual Schematyc2::EVisitStatus VisitStructures(const Schematyc2::ScriptStructureVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
53 virtual Schematyc2::EVisitStatus VisitStructures(const Schematyc2::ScriptStructureConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
55 virtual Schematyc2::IScriptSignal* AddSignal(const Schematyc2::SGUID& scopeGUID, const char* szName) override;
56 virtual Schematyc2::IScriptSignal* GetSignal(const Schematyc2::SGUID& guid) override;
57 virtual const Schematyc2::IScriptSignal* GetSignal(const Schematyc2::SGUID& guid) const override;
59 virtual Schematyc2::EVisitStatus VisitSignals(const Schematyc2::ScriptSignalVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
60 virtual Schematyc2::EVisitStatus VisitSignals(const Schematyc2::ScriptSignalConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
62 virtual Schematyc2::IScriptAbstractInterface* AddAbstractInterface(const Schematyc2::SGUID& scopeGUID, const char* szName) override;
63 virtual Schematyc2::IScriptAbstractInterface* GetAbstractInterface(const Schematyc2::SGUID& guid) override;
64 virtual const Schematyc2::IScriptAbstractInterface* GetAbstractInterface(const Schematyc2::SGUID& guid) const override;
66 virtual Schematyc2::EVisitStatus VisitAbstractInterfaces(const Schematyc2::ScriptAbstractInterfaceVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
67 virtual Schematyc2::EVisitStatus VisitAbstractInterfaces(const Schematyc2::ScriptAbstractInterfaceConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
69 virtual Schematyc2::IScriptAbstractInterfaceFunction* AddAbstractInterfaceFunction(const Schematyc2::SGUID& scopeGUID, const char* szName) override;
70 virtual Schematyc2::IScriptAbstractInterfaceFunction* GetAbstractInterfaceFunction(const Schematyc2::SGUID& guid) override;
71 virtual const Schematyc2::IScriptAbstractInterfaceFunction* GetAbstractInterfaceFunction(const Schematyc2::SGUID& guid) const override;
73 virtual Schematyc2::EVisitStatus VisitAbstractInterfaceFunctions(const Schematyc2::ScriptAbstractInterfaceFunctionVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
74 virtual Schematyc2::EVisitStatus VisitAbstractInterfaceFunctions(const Schematyc2::ScriptAbstractInterfaceFunctionConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
76 virtual Schematyc2::IScriptAbstractInterfaceTask* AddAbstractInterfaceTask(const Schematyc2::SGUID& scopeGUID, const char* szName) override;
77 virtual Schematyc2::IScriptAbstractInterfaceTask* GetAbstractInterfaceTask(const Schematyc2::SGUID& guid) override;
78 virtual const Schematyc2::IScriptAbstractInterfaceTask* GetAbstractInterfaceTask(const Schematyc2::SGUID& guid) const override;
80 virtual Schematyc2::EVisitStatus VisitAbstractInterfaceTasks(const Schematyc2::ScriptAbstractInterfaceTaskVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
81 virtual Schematyc2::EVisitStatus VisitAbstractInterfaceTasks(const Schematyc2::ScriptAbstractInterfaceTaskConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
83 virtual Schematyc2::IScriptClass* AddClass(const Schematyc2::SGUID& scopeGUID, const char* szName, const Schematyc2::SGUID& foundationGUID) override;
84 virtual Schematyc2::IScriptClass* GetClass(const Schematyc2::SGUID& guid) override;
85 virtual const Schematyc2::IScriptClass* GetClass(const Schematyc2::SGUID& guid) const override;
87 virtual Schematyc2::EVisitStatus VisitClasses(const Schematyc2::ScriptClassVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
88 virtual Schematyc2::EVisitStatus VisitClasses(const Schematyc2::ScriptClassConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
90 virtual Schematyc2::IScriptClassBase* AddClassBase(const Schematyc2::SGUID& scopeGUID, const Schematyc2::SGUID& refGUID) override;
91 virtual Schematyc2::IScriptClassBase* GetClassBase(const Schematyc2::SGUID& guid) override;
92 virtual const Schematyc2::IScriptClassBase* GetClassBase(const Schematyc2::SGUID& guid) const override;
94 virtual Schematyc2::EVisitStatus VisitClassBases(const Schematyc2::ScriptClassBaseVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
95 virtual Schematyc2::EVisitStatus VisitClassBases(const Schematyc2::ScriptClassBaseConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
97 virtual Schematyc2::IScriptStateMachine* AddStateMachine(const Schematyc2::SGUID& scopeGUID, const char* szName, Schematyc2::EScriptStateMachineLifetime lifetime, const Schematyc2::SGUID& contextGUID, const Schematyc2::SGUID& partnerGUID) override;
98 virtual Schematyc2::IScriptStateMachine* GetStateMachine(const Schematyc2::SGUID& guid) override;
99 virtual const Schematyc2::IScriptStateMachine* GetStateMachine(const Schematyc2::SGUID& guid) const override;
101 virtual Schematyc2::EVisitStatus VisitStateMachines(const Schematyc2::ScriptStateMachineVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
102 virtual Schematyc2::EVisitStatus VisitStateMachines(const Schematyc2::ScriptStateMachineConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
104 virtual Schematyc2::IScriptState* AddState(const Schematyc2::SGUID& scopeGUID, const char* szName, const Schematyc2::SGUID& partnerGUID) override;
105 virtual Schematyc2::IScriptState* GetState(const Schematyc2::SGUID& guid) override;
106 virtual const Schematyc2::IScriptState* GetState(const Schematyc2::SGUID& guid) const override;
108 virtual Schematyc2::EVisitStatus VisitStates(const Schematyc2::ScriptStateVisitor& visitor) override;
109 virtual Schematyc2::EVisitStatus VisitStates(const Schematyc2::ScriptStateVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
110 virtual Schematyc2::EVisitStatus VisitStates(const Schematyc2::ScriptStateConstVisitor& visitor) const override;
111 virtual Schematyc2::EVisitStatus VisitStates(const Schematyc2::ScriptStateConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
113 virtual Schematyc2::IScriptVariable* AddVariable(const Schematyc2::SGUID& scopeGUID, const char* szName, const Schematyc2::CAggregateTypeId& typeId) override;
114 virtual Schematyc2::IScriptVariable* GetVariable(const Schematyc2::SGUID& guid) override;
115 virtual const Schematyc2::IScriptVariable* GetVariable(const Schematyc2::SGUID& guid) const override;
117 virtual Schematyc2::EVisitStatus VisitVariables(const Schematyc2::ScriptVariableVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
118 virtual Schematyc2::EVisitStatus VisitVariables(const Schematyc2::ScriptVariableConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
120 virtual Schematyc2::IScriptProperty* AddProperty(const Schematyc2::SGUID& scopeGUID, const char* szName, const Schematyc2::SGUID& refGUID, const Schematyc2::CAggregateTypeId& typeId) override;
121 virtual Schematyc2::IScriptProperty* GetProperty(const Schematyc2::SGUID& guid) override;
122 virtual const Schematyc2::IScriptProperty* GetProperty(const Schematyc2::SGUID& guid) const override;
124 virtual Schematyc2::EVisitStatus VisitProperties(const Schematyc2::ScriptPropertyVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
125 virtual Schematyc2::EVisitStatus VisitProperties(const Schematyc2::ScriptPropertyConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
127 virtual Schematyc2::IScriptContainer* AddContainer(const Schematyc2::SGUID& scopeGUID, const char* szName, const Schematyc2::SGUID& typeGUID) override;
128 virtual Schematyc2::IScriptContainer* GetContainer(const Schematyc2::SGUID& guid) override;
129 virtual const Schematyc2::IScriptContainer* GetContainer(const Schematyc2::SGUID& guid) const override;
131 virtual Schematyc2::EVisitStatus VisitContainers(const Schematyc2::ScriptContainerVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
132 virtual Schematyc2::EVisitStatus VisitContainers(const Schematyc2::ScriptContainerConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
134 virtual Schematyc2::IScriptTimer* AddTimer(const Schematyc2::SGUID& scopeGUID, const char* szName) override;
135 virtual Schematyc2::IScriptTimer* GetTimer(const Schematyc2::SGUID& guid) override;
136 virtual const Schematyc2::IScriptTimer* GetTimer(const Schematyc2::SGUID& guid) const override;
138 virtual Schematyc2::EVisitStatus VisitTimers(const Schematyc2::ScriptTimerVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
139 virtual Schematyc2::EVisitStatus VisitTimers(const Schematyc2::ScriptTimerConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
141 virtual Schematyc2::IScriptAbstractInterfaceImplementation* AddAbstractInterfaceImplementation(const Schematyc2::SGUID& scopeGUID, Schematyc2::EDomain domain, const Schematyc2::SGUID& refGUID) override;
142 virtual Schematyc2::IScriptAbstractInterfaceImplementation* GetAbstractInterfaceImplementation(const Schematyc2::SGUID& guid) override;
143 virtual const Schematyc2::IScriptAbstractInterfaceImplementation* GetAbstractInterfaceImplementation(const Schematyc2::SGUID& guid) const override;
145 virtual Schematyc2::EVisitStatus VisitAbstractInterfaceImplementations(const Schematyc2::ScriptAbstractInterfaceImplementationVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
146 virtual Schematyc2::EVisitStatus VisitAbstractInterfaceImplementations(const Schematyc2::ScriptAbstractInterfaceImplementationConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
148 virtual Schematyc2::IScriptComponentInstance* AddComponentInstance(const Schematyc2::SGUID& scopeGUID, const char* szName, const Schematyc2::SGUID& componentGUID, Schematyc2::EScriptComponentInstanceFlags flags) override;
149 virtual Schematyc2::IScriptComponentInstance* GetComponentInstance(const Schematyc2::SGUID& guid) override;
150 virtual const Schematyc2::IScriptComponentInstance* GetComponentInstance(const Schematyc2::SGUID& guid) const override;
152 virtual Schematyc2::EVisitStatus VisitComponentInstances(const Schematyc2::ScriptComponentInstanceVisitor& visitor) override;
153 virtual Schematyc2::EVisitStatus VisitComponentInstances(const Schematyc2::ScriptComponentInstanceVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
154 virtual Schematyc2::EVisitStatus VisitComponentInstances(const Schematyc2::ScriptComponentInstanceConstVisitor& visitor) const override;
155 virtual Schematyc2::EVisitStatus VisitComponentInstances(const Schematyc2::ScriptComponentInstanceConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
157 virtual Schematyc2::IScriptActionInstance* AddActionInstance(const Schematyc2::SGUID& scopeGUID, const char* szName, const Schematyc2::SGUID& actionGUID, const Schematyc2::SGUID& componentInstanceGUID) override;
158 virtual Schematyc2::IScriptActionInstance* GetActionInstance(const Schematyc2::SGUID& guid) override;
159 virtual const Schematyc2::IScriptActionInstance* GetActionInstance(const Schematyc2::SGUID& guid) const override;
161 virtual Schematyc2::EVisitStatus VisitActionInstances(const Schematyc2::ScriptActionInstanceVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
162 virtual Schematyc2::EVisitStatus VisitActionInstances(const Schematyc2::ScriptActionInstanceConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
164 virtual Schematyc2::IDocGraph* AddGraph(const Schematyc2::SScriptGraphParams& params) override;
165 virtual Schematyc2::IDocGraph* GetGraph(const Schematyc2::SGUID& guid) override;
166 virtual const Schematyc2::IDocGraph* GetGraph(const Schematyc2::SGUID& guid) const override;
168 virtual Schematyc2::EVisitStatus VisitGraphs(const Schematyc2::DocGraphVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
169 virtual Schematyc2::EVisitStatus VisitGraphs(const Schematyc2::DocGraphConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
171 virtual void RemoveElement(const Schematyc2::SGUID& guid, bool clearScope) override;
172 virtual Schematyc2::IScriptElement* GetElement(const Schematyc2::SGUID& guid) override;
173 virtual const Schematyc2::IScriptElement* GetElement(const Schematyc2::SGUID& guid) const override;
174 virtual Schematyc2::IScriptElement* GetElement(const Schematyc2::SGUID& guid, Schematyc2::EScriptElementType elementType) override;
175 virtual const Schematyc2::IScriptElement* GetElement(const Schematyc2::SGUID& guid, Schematyc2::EScriptElementType elementType) const override;
177 virtual Schematyc2::EVisitStatus VisitElements(const Schematyc2::ScriptElementVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) override;
178 virtual Schematyc2::EVisitStatus VisitElements(const Schematyc2::ScriptElementConstVisitor& visitor, const Schematyc2::SGUID& scopeGUID, bool bRecurseHierarchy) const override;
180 virtual bool IsElementNameUnique(const Schematyc2::SGUID& scopeGUID, const char* szName) const override; // #SchematycTODO : Move to separate utils class!
181 virtual XmlNodeRef CopyElementsToXml(const Schematyc2::SGUID& guid, bool bRecurseHierarchy) const override;
182 virtual void PasteElementsFromXml(const Schematyc2::SGUID& scopeGUID, const XmlNodeRef& xml) override;
184 virtual void Load() override;
185 virtual void Save() override;
186 virtual void Refresh(const Schematyc2::SScriptRefreshParams& params) override;
187 virtual bool GetClipboardInfo(const XmlNodeRef& xml, Schematyc2::SScriptElementClipboardInfo& clipboardInfo) const override; // #SchematycTODO : Move to separate utils class!
188 // ~IScriptFile
190 private:
191 Schematyc2::IScriptFile* m_delegate;
195 DECLARE_SHARED_POINTERS(CScriptFile)