public override IEnumerator Load(Delegates.FloatValue onProgress, Delegates.Action onLoaded)
        {
            GameObject controllers = new GameObject("Controllers");

            controllers.AddComponent <SettingsController>();
            controllers.AddComponent <SaveController>();
            controllers.AddComponent <GameplayController>();
            controllers.AddComponent <EffectsController>();
            controllers.AddComponent <InputController>();

#if MMDevelop
            controllers.AddComponent <DevController>();
#endif

            if (onProgress != null)
            {
                onProgress.Invoke(1);
            }

            if (onLoaded != null)
            {
                onLoaded.Invoke();
            }

            yield return(null);
        }
        public override IEnumerator Load(Delegates.FloatValue onProgress, Delegates.Action onLoaded)
        {
            if (onProgress != null)
            {
                onProgress.Invoke(0);
            }

            yield return(LoadSetup(onProgress, onLoaded));

            if (onProgress != null)
            {
                onProgress.Invoke(1);
            }

            if (onLoaded != null)
            {
                onLoaded.Invoke();
            }

            Setup = null;
        }