!B (Sandbox) (CE-21795) Importing models with multisubmaterials via fbx switches...
[CRYENGINE.git] / Code / Sandbox / Plugins / EditorSchematyc2 / Bridge / Public / Bridge_IFramework.h
blob0d544c0c547ffc0121a514129c10c41aef18f7c5
1 // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
3 #pragma once
5 #include <CrySchematyc2/IFramework.h>
7 #include "Bridge_ICompiler.h"
8 #include "Bridge_IDomainContext.h"
9 #include "Bridge_IScriptRegistry.h"
11 namespace Bridge {
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;