public void OnAwake() { _canvas = SceneObject.Instantiate <Canvas>(null); _levelManager = new LevelManager(_canvas); _levelManager.Add <EntitiesLevel>(EntitiesLevel); _levelManager.Add <ParticlesLevel>(ParticlesLevel); _levelManager.Add <EarthquakeLevel>(EarthquakeLevel); _levelManager.Add <RaycastLevel>(RaycastLevel); var changeLevelPrompt = SceneObject.Instantiate <TextElement>(_canvas); changeLevelPrompt.RectTransform.Size = new Point(Screen.Width, 40f); changeLevelPrompt.RectTransform.Padding = new Padding(-40f, -20f); changeLevelPrompt.RectTransform.Alignment = Alignment.BottomHStretch; changeLevelPrompt.Text.Alignment = Alignment.Right; changeLevelPrompt.Text.Height = 20; changeLevelPrompt.Text.Content = string.Format("Press {0} to change level.", _changeLevelKey.ToString().Substring(4)); if (!Env.IsSandbox) { Input.OnKey += Input_OnKey; _levelManager.LoadLevel(_defaultLevel); } }