UnityEngine.Object.DontDestroyOnLoad C# (CSharp) Method

DontDestroyOnLoad() public static method

public static DontDestroyOnLoad ( System target ) : void
target System
return void
		public static void DontDestroyOnLoad(System.Object target){}
		public static void DestroyObject(System.Object obj, float t){}

Usage Example

コード例 #1
0
        private void CreateUI()
        {
            if (canvas == null)
            {
                log.LogMessage(" ");
                log.LogMessage("Creating UI Elements");

                // Create a GameObject with a Canvas
                canvas = instance.createUICanvas();
                Object.DontDestroyOnLoad(canvas);

                // Add a Panel to the Canvas. See createUIPanel for why we pass height/width as string
                uiPanel = instance.createUIPanel(canvas, "550", "200", null);

                // This is how we'll hook mouse Events for window dragging
                EventTrigger      comp1 = new EventTrigger(uiPanel.AddComponent(UnhollowerRuntimeLib.Il2CppType.Of <EventTrigger>()).Pointer);
                WindowDragHandler comp2 = new WindowDragHandler(uiPanel.AddComponent(UnhollowerRuntimeLib.Il2CppType.Of <WindowDragHandler>()).Pointer);

                Image panelImage = uiPanel.GetComponent <Image>();
                panelImage.color = instance.HTMLString2Color("#2D2D30FF").Unbox <Color32>();

                #region [Panel Elements]

                // NOTE: Elements are spaced in increments/decrements of 35 in localPosition

                #region [Add a Button]

                Sprite     btnSprite = instance.createSpriteFrmTexture(instance.createDefaultTexture("#7AB900FF"));
                GameObject uiButton  = instance.createUIButton(uiPanel, btnSprite);
                uiButton.GetComponent <RectTransform>().localPosition = new Vector3(0, 250, 0);

                #endregion

                #region [Add a Toggle]

                Sprite     toggleBgSprite = instance.createSpriteFrmTexture(instance.createDefaultTexture("#3E3E42FF"));
                Sprite     toggleSprite   = instance.createSpriteFrmTexture(instance.createDefaultTexture("#7AB900FF"));
                GameObject uiToggle       = instance.createUIToggle(uiPanel, toggleBgSprite, toggleSprite);
                uiToggle.GetComponentInChildren <Text>().color        = Color.white;
                uiToggle.GetComponentInChildren <Toggle>().isOn       = false;
                uiToggle.GetComponent <RectTransform>().localPosition = new Vector3(0, 215, 0);

                #endregion

                #region [Add a Slider]

                Sprite     sliderBgSprite   = instance.createSpriteFrmTexture(instance.createDefaultTexture("#9E9E9EFF"));
                Sprite     sliderFillSprite = instance.createSpriteFrmTexture(instance.createDefaultTexture("#7AB900FF"));
                Sprite     sliderKnobSprite = instance.createSpriteFrmTexture(instance.createDefaultTexture("#191919FF"));
                GameObject uiSlider         = instance.createUISlider(uiPanel, sliderBgSprite, sliderFillSprite, sliderKnobSprite);
                uiSlider.GetComponentInChildren <Slider>().value      = 0.5f;
                uiSlider.GetComponent <RectTransform>().localPosition = new Vector3(0, 185, 0);

                #endregion

                #region [Add a Text (Label)]

                Sprite     txtBgSprite = instance.createSpriteFrmTexture(instance.createDefaultTexture("#7AB900FF"));
                GameObject uiText      = instance.createUIText(uiPanel, txtBgSprite, "#FFFFFFFF");
                uiText.GetComponent <Text>().text = "This is a new Text Label";
                uiText.GetComponent <RectTransform>().localPosition = new Vector3(0, 150, 0);

                #endregion

                #region [Add a InputField]

                Sprite     inputFieldSprite = instance.createSpriteFrmTexture(instance.createDefaultTexture("#7AB900FF"));
                GameObject uiInputField     = instance.createUIInputField(uiPanel, inputFieldSprite, "#000000FF");
                #region [Dev Note]
                // The following line is odd. It sets the text but doesn't display it, WTF? The default child object PlaceHolder
                // has Text component but Unhollower thinks it's a UnityEngine.Graphic?
                //      uiInputField.transform.GetChild(0).gameObject.GetComponent<Text>().text = "Search...";
                // Checked in Unity Editor too, it's definately Text, why does unhollower think it's Graphic?
                //
                // We'll just use the InputField component directly. It works, but PlaceHolder is nice...
                #endregion
                uiInputField.GetComponent <InputField>().text             = "Some Input Field...";
                uiInputField.GetComponent <RectTransform>().localPosition = new Vector3(0, 115, 0);

                #endregion

                #region [Add a DropDown]

                // NOTE: This wierd, it does it's thing and work's but then the rest on the UI disappears... hmmm... :/

                Sprite     dropdownBgSprite        = instance.createSpriteFrmTexture(instance.createDefaultTexture("#7AB900FF"));
                Sprite     dropdownScrollbarSprite = instance.createSpriteFrmTexture(instance.createDefaultTexture("#3E3E42FF"));
                Sprite     dropdownDropDownSprite  = instance.createSpriteFrmTexture(instance.createDefaultTexture("#252526FF"));
                Sprite     dropdownCheckmarkSprite = instance.createSpriteFrmTexture(instance.createDefaultTexture("#7AB900FF"));
                Sprite     dropdownMaskSprite      = instance.createSpriteFrmTexture(instance.createDefaultTexture("#1E1E1EFF"));
                GameObject uiDropDown = instance.createUIDropDown(uiPanel, dropdownBgSprite, dropdownScrollbarSprite, dropdownDropDownSprite, dropdownCheckmarkSprite, dropdownMaskSprite);
                Object.DontDestroyOnLoad(uiDropDown);
                uiDropDown.GetComponent <RectTransform>().localPosition = new Vector3(0, 75, 0);

                #endregion

                #region [Add a ScrollView]

                Sprite     scrollviewBgSprite        = instance.createSpriteFrmTexture(instance.createDefaultTexture("#9E9E9EFF"));
                Sprite     scrollviewScrollbarSprite = instance.createSpriteFrmTexture(instance.createDefaultTexture("#3E3E42FF"));
                Sprite     scrollviewMaskSprite      = instance.createSpriteFrmTexture(instance.createDefaultTexture("#3E3E42FF"));
                GameObject uiScrollView = instance.createUIScrollView(uiPanel, scrollviewBgSprite, scrollviewMaskSprite, scrollviewScrollbarSprite);

                // Set some content
                GameObject content        = uiScrollView.GetComponent <ScrollRect>().content.gameObject;
                GameObject contentTextObj = instance.createUIText(content, scrollviewBgSprite, "#FFFFFFFF");
                contentTextObj.GetComponent <Text>().text = "ScrollView Element";
                contentTextObj.GetComponent <RectTransform>().localPosition = new Vector3(120, -50, 0);

                uiScrollView.GetComponent <RectTransform>().localPosition = new Vector3(0, -75, 0);

                #endregion

                #region [Add a RawImage]

                // Our Test Sprite from testBundle for UI RawImage Element
                if (testAssetBundle != null && stompy != null)
                {
                    log.LogMessage("   Trying to Load Test Sprite...");
                    stompy = testAssetBundle.LoadAsset <Sprite>("assets/tools/customassets/test assets/externaltexture.png");
                    if (stompy != null)
                    {
                        log.LogMessage("      Sprite Loaded!");
                    }
                    else
                    {
                        log.LogMessage("      Failed to Load Sprite!");
                    }

                    GameObject uiImage = instance.createUIRawImage(uiPanel, stompy);
                    uiImage.GetComponent <RectTransform>().localPosition = new Vector3(0, -220, 0);
                    uiImage.GetComponent <RectTransform>().localScale    = new Vector3(0.3f, 0.3f);
                }
                else
                {
                    log.LogMessage("   Skipping - Test AssetBundle Not Loaded!");
                }

                #endregion

                #endregion

                isVisible = true;

                log.LogMessage("Complete!");
            }
        }
All Usage Examples Of UnityEngine.Object::DontDestroyOnLoad