public void Initialize(IResolutionContainer container)
    {
        if (Settings.InitialScreenPrefab == null)
        {
            return;
        }

        var tutorialManager = container.Resolve <ITutorialManager>();

        if (tutorialManager == null)
        {
            throw new InvalidOperationException("Could not find tutorial manager for tutorials selector");
        }

        var tutorialsList = Settings.Tutorials;

        if (tutorialsList == null || tutorialsList.Tutorials == null)
        {
            throw new InvalidOperationException("Invalid tutorial list");
        }

        tutorialManager.AddTutorials(tutorialsList.Tutorials);

        var go   = Instantiate(Settings.InitialScreenPrefab);
        var ctrl = go.GetComponent <SelectorTutorialsController>();

        if (ctrl == null)
        {
            throw new InvalidOperationException("Initial Screen Prefab does not contain a SelectorTutorialsController");
        }
    }
    public void Initialize(IResolutionContainer container)
    {
        if (Settings.InitialScreenPrefab == null)
        {
            return;
        }

        _scenes = ScenesData.Instance.ScenesNames;

        var entryScene = Settings.EntryScene;

        if (!string.IsNullOrEmpty(entryScene) && _scenes.Contains(entryScene))
        {
            GoToScene(entryScene);
            return;
        }

        var go   = Instantiate(Settings.InitialScreenPrefab);
        var ctrl = go.GetComponent <SelectorScenesController>();

        if (ctrl == null)
        {
            throw new InvalidOperationException("Initial Screen Prefab does not contain a SelectorScenesController");
        }

        ctrl.OnGoToScene = GoToScene;
    }
    public void Initialize(IResolutionContainer container)
    {
        if (Settings.InitialScreenPrefab == null)
        {
            return;
        }

        Instantiate(Settings.InitialScreenPrefab);
    }
    void SetupGameLoadingOperations(IResolutionContainer container)
    {
        var manager = container.Resolve <ILoadingManager>();

        //Example of how to append LoadingOperations to the LoadingManager.
        manager.GameOperationsSource = () =>
        {
            _gameOperation = new LoadingOperation(0.0f, DoGameOperation);

            return(new List <ILoadingOperation>
            {
                _gameOperation
            });
        };
    }
    static void SetupNotificationsProvider(IResolutionContainer container)
    {
        var manager = container.Resolve <INotificationManager>();

        if (manager == null)
        {
            return;
        }

        manager.NotificationsProvider = () =>
        {
            var notify = new Notification(10, Notification.OffsetType.None)
            {
                Title = "Notification!", Message = "This is a notification manager notification."
            };

            return(new List <Notification>
            {
                notify
            });
        };
    }
 public void Initialize(IResolutionContainer container)
 {
     SetupNotificationsProvider(container);
     SetupGameLoadingOperations(container);
 }