Browse Source

Subsystem pointers made private.
Added to Context getters for subsystems.
Added includes required for binding generation.

Rokas Kupstys 8 years ago
parent
commit
1f40b35c34
2 changed files with 55 additions and 20 deletions
  1. 11 0
      Script/Packages/Atomic/Core.json
  2. 44 20
      Source/Atomic/Core/Context.h

+ 11 - 0
Script/Packages/Atomic/Core.json

@@ -1,6 +1,17 @@
 {
 	"name" : "Core",
 	"sources" : ["Source/Atomic/Core", "Source/Atomic/BuildInfo"],
+	"includes": [
+		"<Atomic/Engine/Engine.h>",
+		"<Atomic/Network/Network.h>",
+		"<Atomic/Web/Web.h>",
+		"<Atomic/Input/Input.h>",
+		"<Atomic/Audio/Audio.h>",
+		"<Atomic/UI/UI.h>",
+		"<Atomic/Graphics/Graphics.h>",
+		"<Atomic/Graphics/Renderer.h>",
+		"<Atomic/Metrics/Metrics.h>"
+	],
 	"classes" : ["Context", "Object", "AtomicBuildInfo", "Time"],
 	"classes_rename" : {
 		"Object" : "AObject"

+ 44 - 20
Source/Atomic/Core/Context.h

@@ -228,26 +228,26 @@ public:
     void AddGlobalEventListener(GlobalEventListener* listener) { globalEventListeners_.Push(listener); }
     void RemoveGlobalEventListener(GlobalEventListener* listener) { globalEventListeners_.Erase(globalEventListeners_.Find(listener)); }
 
-    WeakPtr<Engine> engine_;
-    WeakPtr<Time> time_;
-    WeakPtr<WorkQueue> workQueue_;
-    WeakPtr<Profiler> profiler_;
-    WeakPtr<FileSystem> fileSystem_;
-    WeakPtr<Log> log_;
-    WeakPtr<ResourceCache> cache_;
-    WeakPtr<Localization> l18n_;
-    WeakPtr<Network> network_;
-    WeakPtr<Web> web_;
-    WeakPtr<Database> db_;
-    WeakPtr<Input> input_;
-    WeakPtr<Audio> audio_;
-    WeakPtr<UI> ui_;
-    WeakPtr<SystemUI> systemUi_;
-    WeakPtr<Graphics> graphics_;
-    WeakPtr<Renderer> renderer_;
-    WeakPtr<Console> console_;
-    WeakPtr<DebugHud> debugHud_;
-    WeakPtr<Metrics> metrics_;
+    Engine* GetEngine() const { return engine_; }
+    Time* GetTime() const { return time_; }
+    WorkQueue* GetWorkQueue() const { return workQueue_; }
+    Profiler* GetProfiler() const { return profiler_; }
+    FileSystem* GetFileSystem() const { return fileSystem_; }
+    Log* GetLog() const { return log_; }
+    ResourceCache* GetResourceCache() const { return cache_; }
+    Localization* GetLocalization() const { return l18n_; }
+    Network* GetNetwork() const { return network_; }
+    Web* GetWeb() const { return web_; }
+    Database* GetDatabase() const { return db_; }
+    Input* GetInput() const { return input_; }
+    Audio* GetAudio() const { return audio_; }
+    UI* GetUI() const { return ui_; }
+    SystemUI* GetSystemUI() const { return systemUi_; }
+    Graphics* GetGraphics() const { return graphics_; }
+    Renderer* GetRenderer() const { return renderer_; }
+    Console* GetConsole() const { return console_; }
+    DebugHud* GetDebugHud() const { return debugHud_; }
+    Metrics* GetMetrics() const { return metrics_; }
 
     // ATOMIC END
 
@@ -311,6 +311,30 @@ private:
 
     PODVector<GlobalEventListener*> globalEventListeners_;
     bool editorContext_;
+
+    WeakPtr<Engine> engine_;
+    WeakPtr<Time> time_;
+    WeakPtr<WorkQueue> workQueue_;
+    WeakPtr<Profiler> profiler_;
+    WeakPtr<FileSystem> fileSystem_;
+    WeakPtr<Log> log_;
+    WeakPtr<ResourceCache> cache_;
+    WeakPtr<Localization> l18n_;
+    WeakPtr<Network> network_;
+    WeakPtr<Web> web_;
+    WeakPtr<Database> db_;
+    WeakPtr<Input> input_;
+    WeakPtr<Audio> audio_;
+    WeakPtr<UI> ui_;
+    WeakPtr<SystemUI> systemUi_;
+    WeakPtr<Graphics> graphics_;
+    WeakPtr<Renderer> renderer_;
+    WeakPtr<Console> console_;
+    WeakPtr<DebugHud> debugHud_;
+    WeakPtr<Metrics> metrics_;
+
+    friend class Engine;
+
     // ATOMIC END
 
 };