1 // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
4 #include <CrySchematyc2/IFramework.h>
6 #include "Bridge_Framework.h"
7 #include "Bridge_DomainContext.h"
11 //////////////////////////////////////////////////////////////////////////
12 bool CFramework::Initialize(SSystemGlobalEnvironment
& env
, const SSystemInitParams
& initParams
)
17 //////////////////////////////////////////////////////////////////////////
18 void CFramework::SetGUIDGenerator(const Schematyc2::GUIDGenerator
& guidGenerator
)
20 Delegate()->SetGUIDGenerator(guidGenerator
);
23 //////////////////////////////////////////////////////////////////////////
24 Schematyc2::SGUID
CFramework::CreateGUID() const
26 return Delegate()->CreateGUID();
29 //////////////////////////////////////////////////////////////////////////
30 Schematyc2::IStringPool
& CFramework::GetStringPool()
32 return Delegate()->GetStringPool();
35 //////////////////////////////////////////////////////////////////////////
36 Schematyc2::IEnvRegistry
& CFramework::GetEnvRegistry()
38 return Delegate()->GetEnvRegistry();
41 //////////////////////////////////////////////////////////////////////////
42 Schematyc2::ILibRegistry
& CFramework::GetLibRegistry()
44 return Delegate()->GetLibRegistry();
47 //////////////////////////////////////////////////////////////////////////
48 const char* CFramework::GetFileFormat() const
50 return Delegate()->GetFileFormat();
53 //////////////////////////////////////////////////////////////////////////
54 const char* CFramework::GetRootFolder() const
56 return Delegate()->GetRootFolder();
59 //////////////////////////////////////////////////////////////////////////
60 const char* CFramework::GetOldScriptsFolder() const
62 return Delegate()->GetOldScriptsFolder();
65 //////////////////////////////////////////////////////////////////////////
66 const char* CFramework::GetOldScriptExtension() const
68 return Delegate()->GetOldScriptExtension();
71 //////////////////////////////////////////////////////////////////////////
72 const char* CFramework::GetScriptsFolder() const
74 return Delegate()->GetScriptsFolder();
77 //////////////////////////////////////////////////////////////////////////
78 const char* CFramework::GetSettingsFolder() const
80 return Delegate()->GetSettingsFolder();
83 //////////////////////////////////////////////////////////////////////////
84 const char* CFramework::GetSettingsExtension() const
86 return Delegate()->GetSettingsExtension();
89 //////////////////////////////////////////////////////////////////////////
90 bool CFramework::IsExperimentalFeatureEnabled(const char* szFeatureName
) const
92 return Delegate()->IsExperimentalFeatureEnabled(szFeatureName
);
95 //////////////////////////////////////////////////////////////////////////
96 IScriptRegistry
& CFramework::GetScriptRegistry()
98 return m_scriptRegistry
;
101 //////////////////////////////////////////////////////////////////////////
102 ICompiler
& CFramework::GetCompiler()
107 //////////////////////////////////////////////////////////////////////////
108 Schematyc2::IObjectManager
& CFramework::GetObjectManager()
110 return Delegate()->GetObjectManager();
113 //////////////////////////////////////////////////////////////////////////
114 Schematyc2::ILog
& CFramework::GetLog()
116 return Delegate()->GetLog();
119 //////////////////////////////////////////////////////////////////////////
120 Schematyc2::ILogRecorder
& CFramework::GetLogRecorder()
122 return Delegate()->GetLogRecorder();
125 //////////////////////////////////////////////////////////////////////////
126 Schematyc2::IUpdateScheduler
& CFramework::GetUpdateScheduler()
128 return Delegate()->GetUpdateScheduler();
131 //////////////////////////////////////////////////////////////////////////
132 Schematyc2::ITimerSystem
& CFramework::GetTimerSystem()
134 return Delegate()->GetTimerSystem();
137 //////////////////////////////////////////////////////////////////////////
138 Schematyc2::ISerializationContextPtr
CFramework::CreateSerializationContext(const Schematyc2::SSerializationContextParams
& params
) const
140 return Delegate()->CreateSerializationContext(params
);
143 //////////////////////////////////////////////////////////////////////////
144 IDomainContextPtr
CFramework::CreateDomainContext(const SDomainContextScope
& bridgeScope
) const
146 Schematyc2::SDomainContextScope
schematycScope(bridgeScope
.pScriptFile
->GetDelegate(), bridgeScope
.guid
);
147 return IDomainContextPtr(new CDomainContext(Delegate()->CreateDomainContext(schematycScope
), bridgeScope
));
150 //////////////////////////////////////////////////////////////////////////
151 IDomainContextPtr
CFramework::CreateDomainContext(const Schematyc2::IScriptElement
* element
)
153 SDomainContextScope
bridgeScope(m_scriptRegistry
.Wrapfile(const_cast<Schematyc2::IScriptFile
*>(&element
->GetFile())), element
->GetGUID());
154 return CreateDomainContext(bridgeScope
);
157 //////////////////////////////////////////////////////////////////////////
158 Schematyc2::IValidatorArchivePtr
CFramework::CreateValidatorArchive(const Schematyc2::SValidatorArchiveParams
& params
) const
160 return Delegate()->CreateValidatorArchive(params
);
163 //////////////////////////////////////////////////////////////////////////
164 Schematyc2::IGameResourceListPtr
CFramework::CreateGameResoucreList() const
166 return Delegate()->CreateGameResoucreList();
169 //////////////////////////////////////////////////////////////////////////
170 Schematyc2::IResourceCollectorArchivePtr
CFramework::CreateResourceCollectorArchive(Schematyc2::IGameResourceListPtr pResourceList
) const
172 return Delegate()->CreateResourceCollectorArchive(pResourceList
);
175 //////////////////////////////////////////////////////////////////////////
176 void CFramework::RefreshLogFileSettings()
178 return Delegate()->RefreshLogFileSettings();
181 //////////////////////////////////////////////////////////////////////////
182 void CFramework::RefreshEnv()
184 Delegate()->RefreshEnv();
187 //////////////////////////////////////////////////////////////////////////
188 Schematyc2::SFrameworkSignals
& CFramework::Signals()
190 return Delegate()->Signals();
193 //////////////////////////////////////////////////////////////////////////
194 void CFramework::PrePhysicsUpdate()
196 Delegate()->PrePhysicsUpdate();
199 //////////////////////////////////////////////////////////////////////////
200 void CFramework::Update()
202 Delegate()->Update();
205 //////////////////////////////////////////////////////////////////////////
206 void CFramework::SetUpdateRelevancyContext(Schematyc2::CUpdateRelevanceContext
& context
)
208 Delegate()->SetUpdateRelevancyContext(context
);
211 //////////////////////////////////////////////////////////////////////////
212 Schematyc2::IFramework
* CFramework::Delegate() const
214 CRY_ASSERT(gEnv
->pSchematyc2
);
215 return gEnv
->pSchematyc2
;
220 CRYREGISTER_SINGLETON_CLASS(Bridge::CFramework
)