コード例 #1
0
        public void Unload()
        {
            GameObject.Destroy(loadingBar);
            GameObject.Destroy(loadingButton);
            GameObject.Destroy(loadingRoot);
            GameObject.Destroy(optionsUIManager);

            //destroys all menu items (ModOptions)
            GameObject.Destroy(optionsMenuScreen);
            modOptions = null;
            backButton = null;

            optionsMenuScreen = null;
            optionsUIManager  = null;
            loadingBar        = null;
            loadingButton     = null;
            loadingRoot       = null;

            rootUIManager = null;

            loadingButtonPressed = false;

            UnityEngine.SceneManagement.SceneManager.sceneLoaded -= SceneLoaded;

            comms.DisableNode();
            comms    = null;
            Instance = null;
        }
コード例 #2
0
        void CreateMainMenuUIElements()
        {
            if (rootUIManager == null)
            {
                return;
            }

            GameObject go = new GameObject(OptionsUIManagerName);

            optionsUIManager = go.AddComponent <RandomizerFauxUIManager>();

            //Vector2 buttonPos = new Vector2( -1400f, 400f );
            //Vector2 barPos = new Vector2( -1400f, 200f );

            //Vector2 buttonSize = new Vector2( 400f, 200f );
            //Vector2 barSize = new Vector2( 400f, 40f );

            loadingRoot = new GameObject("Loading Root");

            Canvas canvas = loadingRoot.AddComponent <Canvas>();

            canvas.renderMode = RenderMode.ScreenSpaceOverlay;
            canvas.gameObject.GetOrAddComponent <RectTransform>().sizeDelta = new Vector2(1920f, 1080f);
            CanvasScaler canvasScaler = loadingRoot.AddComponent <CanvasScaler>();

            canvasScaler.referenceResolution = new Vector2(1920f, 1080f);

            //rootUIManager.gameObject.PrintSceneHierarchyTree();

            Vector3 pos = rootUIManager.gameObject.FindGameObjectInChildren("StartGameButton").transform.position;

            loadingButton = GameObject.Instantiate(rootUIManager.gameObject.FindGameObjectInChildren("StartGameButton"));
            loadingButton.transform.SetParent(rootUIManager.gameObject.FindGameObjectInChildren("MainMenuScreen").transform);
            loadingButton.gameObject.SetActive(true);
            loadingButton.transform.localScale = Vector3.one;
            loadingButton.transform.position   = pos;
            loadingButton.transform.Translate(new Vector3(-5.0f, 4f));

            //Dev.Log( "Finished loader ui elements" );

            GameObject.DestroyImmediate(loadingButton.GetComponent <MenuButton>());
            GameObject.DestroyImmediate(loadingButton.GetComponent <EventTrigger>());
            GameObject.DestroyImmediate(loadingButton.GetComponentInChildren <AutoLocalizeTextUI>());

            Text loadingButtonText = loadingButton.GetComponentInChildren <Text>();

            loadingButtonText.text  = "[Load Enemy Randomizer]";
            loadingButtonText.color = Color.white;
            loadingButtonText.horizontalOverflow = HorizontalWrapMode.Overflow;
            loadingButtonText.verticalOverflow   = VerticalWrapMode.Overflow;

            Button b = loadingButton.AddComponent <Button>();

            b.targetGraphic = loadingButtonText;
            b.interactable  = true;
            ColorBlock cb = new ColorBlock
            {
                highlightedColor = Color.yellow,
                pressedColor     = Color.red,
                disabledColor    = Color.black,
                normalColor      = Color.white,
                colorMultiplier  = 2f
            };

            b.colors = cb;
            b.onClick.AddListener(LoadingButtonClicked);

            try {
                AddLoadingButtonCallback(EnemyRandomizerLoader.Instance.BuildEnemyRandomizerDatabase);
            }
            catch (Exception e) {
                Dev.LogError(e.ToString());
            }

            loadingBar = GameObject.Instantiate(rootUIManager.gameObject.FindGameObjectInChildren("StartGameButton"));
            loadingBar.transform.SetParent(rootUIManager.gameObject.FindGameObjectInChildren("MainMenuScreen").transform);
            loadingBar.gameObject.SetActive(true);
            loadingBar.transform.localScale = Vector3.one;
            loadingBar.transform.position   = pos;
            loadingBar.transform.Translate(new Vector3(-5.1f, 3.7f));

            GameObject.DestroyImmediate(loadingBar.GetComponent <MenuButton>());
            GameObject.DestroyImmediate(loadingBar.GetComponent <EventTrigger>());
            GameObject.DestroyImmediate(loadingBar.GetComponentInChildren <AutoLocalizeTextUI>());

            loadingBarText       = loadingBar.GetComponentInChildren <Text>();
            loadingBarText.text  = "Loading Progress: ";
            loadingBarText.color = Color.white;
            loadingBarText.horizontalOverflow = HorizontalWrapMode.Overflow;
            loadingBarText.verticalOverflow   = VerticalWrapMode.Overflow;
            loadingBar.gameObject.SetActive(false);

            GameObject.DontDestroyOnLoad(loadingRoot);
        }
コード例 #3
0
 public void Start()
 {
     Instance = this;
     DontDestroyOnLoad(this);
 }