1 // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
5 #include <CrySchematyc2/IFramework.h>
7 #include "Bridge_ICompiler.h"
8 #include "Bridge_IDomainContext.h"
9 #include "Bridge_IScriptRegistry.h"
13 struct IFramework
: public Cry::IDefaultModule
15 CRYINTERFACE_DECLARE_GUID(Bridge::IFramework
, "{C2D28CFF-542F-448E-9499-653C4077F28F}"_cry_guid
);
17 // #SchematycTODO : Clean up this interface!
19 virtual void SetGUIDGenerator(const Schematyc2::GUIDGenerator
& guidGenerator
) = 0;
20 virtual Schematyc2::SGUID
CreateGUID() const = 0;
22 virtual Schematyc2::IStringPool
& GetStringPool() = 0;
23 virtual Schematyc2::IEnvRegistry
& GetEnvRegistry() = 0;
24 virtual Schematyc2::ILibRegistry
& GetLibRegistry() = 0;
26 virtual const char* GetFileFormat() const = 0;
27 virtual const char* GetRootFolder() const = 0;
28 virtual const char* GetOldScriptsFolder() const = 0;
29 virtual const char* GetOldScriptExtension() const = 0;
30 virtual const char* GetScriptsFolder() const = 0; // #SchematycTODO : Do we really need access to this outside script registry?
31 virtual const char* GetSettingsFolder() const = 0; // #SchematycTODO : Do we really need access to this outside env registry?
32 virtual const char* GetSettingsExtension() const = 0; // #SchematycTODO : Use GetFileFormat() instead?
33 virtual bool IsExperimentalFeatureEnabled(const char* szFeatureName
) const = 0;
35 virtual IScriptRegistry
& GetScriptRegistry() = 0;
36 virtual ICompiler
& GetCompiler() = 0;
37 virtual Schematyc2::IObjectManager
& GetObjectManager() = 0;
38 virtual Schematyc2::ILog
& GetLog() = 0;
39 virtual Schematyc2::ILogRecorder
& GetLogRecorder() = 0;
40 virtual Schematyc2::IUpdateScheduler
& GetUpdateScheduler() = 0;
41 virtual Schematyc2::ITimerSystem
& GetTimerSystem() = 0;
43 virtual Schematyc2::ISerializationContextPtr
CreateSerializationContext(const Schematyc2::SSerializationContextParams
& params
) const = 0;
44 virtual IDomainContextPtr
CreateDomainContext(const SDomainContextScope
& scope
) const = 0;
45 virtual IDomainContextPtr
CreateDomainContext(const Schematyc2::IScriptElement
* element
) = 0;
46 virtual Schematyc2::IValidatorArchivePtr
CreateValidatorArchive(const Schematyc2::SValidatorArchiveParams
& params
) const = 0;
48 virtual Schematyc2::IGameResourceListPtr
CreateGameResoucreList() const = 0;
49 virtual Schematyc2::IResourceCollectorArchivePtr
CreateResourceCollectorArchive(Schematyc2::IGameResourceListPtr pResourceList
) const = 0;
51 virtual void RefreshLogFileSettings() = 0;
52 virtual void RefreshEnv() = 0;
54 virtual Schematyc2::SFrameworkSignals
& Signals() = 0;
56 virtual void PrePhysicsUpdate() = 0;
57 virtual void Update() = 0;
58 virtual void SetUpdateRelevancyContext(Schematyc2::CUpdateRelevanceContext
& context
) = 0;