1 // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
5 #include <CrySchematyc2/Script/IScriptFile.h>
7 #include "Bridge_IScriptFile.h"
11 class CScriptFile
: public IScriptFile
14 CScriptFile(Schematyc2::IScriptFile
* file
);
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!
191 Schematyc2::IScriptFile
* m_delegate
;
195 DECLARE_SHARED_POINTERS(CScriptFile
)