Initialize() public method

public Initialize ( bool addToManagers ) : void
addToManagers bool
return void
Example #1
0
        private void PerformAsyncLoad()
        {
            mNextScreenToLoadAsync = (Screen)Activator.CreateInstance(asyncScreenTypeToLoad, new object[0]);

            // Don't add it to the manager!
            mNextScreenToLoadAsync.Initialize(addToManagers: false);

            AsyncLoadingState = AsyncLoadingState.Done;
        }
Example #2
0
        private static Screen LoadScreen(string screen, Layer layerToLoadScreenOn, bool addToManagers, bool makeCurrentScreen)
        {
            mNextScreenLayer = layerToLoadScreenOn;

            Screen newScreen = null;

            Type typeOfScreen = MainAssembly.GetType(screen);

            if (typeOfScreen == null)
            {
                throw new System.ArgumentException("There is no " + screen + " class defined in your project or linked assemblies.");
            }

            if (screen != null && screen != "")
            {
#if XBOX360
                newScreen = (Screen)Activator.CreateInstance(typeOfScreen);
#else
                newScreen = (Screen)Activator.CreateInstance(typeOfScreen, new object[0]);
#endif
            }

            if (newScreen != null)
            {
                FlatRedBall.Input.InputManager.CurrentFrameInputSuspended = true;

                if (addToManagers)
                {
                    // We do this so that new Screens are the CurrentScreen in Activity.
                    // This is useful in custom logic.
                    if (makeCurrentScreen)
                    {
                        mCurrentScreen = newScreen;
                    }
                    newScreen.Initialize(addToManagers);

                    newScreen.ApplyRestartVariables();
                }
                mSuppressStatePush = false;

                nextCallback?.Invoke(newScreen);
                nextCallback = null;


                if (addToManagers)
                {
                    newScreen.Activity(true);


                    newScreen.ActivityCallCount++;
                }
            }

            return(newScreen);
        }
Example #3
0
        private void PerformAsyncLoad()
        {
            mNextScreenToLoadAsync = (Screen)Activator.CreateInstance(asyncScreenTypeToLoad, new object[0]);

            // Don't add it to the manager!
            mNextScreenToLoadAsync.Initialize(addToManagers:false);

            AsyncLoadingState = AsyncLoadingState.Done;
        }