void Awake() { CDebug.DisplayMethod = CDebug.ConsoleLogMethod.Selected; //CDebug.LogThis(typeof(Injector)); if (Instance != this && Instance != null) { Destroy(gameObject); } else { Instance = this; _commands = new CommandQueue(); // create framework manager objects _frameworkObjects = new SceneObjectData(); _frameworkObjects.PushObjectAsSingleton(new SceneManager()); Injector.BindTemplate("Framework_UseDiskAccess", _readWriteSettingsConfiguration); Injector.BindSingleton <EngineOptions>(Factory.Factory.Create <EngineOptions>(_frameworkObjects)); // give App a getter. Get options via: // Framework.App.Options.<Option> // Remember to apply options when necessary // true/false parameter tells App if it can use JSON to write and read default configurations from a HD. App = _frameworkObjects.PushObjectAsSingleton(Factory.Factory.Create <App>()); _frameworkObjects.InitializeSceneObjects(); Globals = new SceneObjectData(); Globals.InitializeSceneObjects(); // ProcessCommands() executes all commands in a co-routine StartCoroutine(ProcessCommands()); DontDestroyOnLoad(gameObject); } // when Awake() is invoked we've loaded a new scene so we create the new view SceneManager.CreateSceneView(); }