public GameObject createUIImage(GameObject parent, Sprite BgSprite)
        {
            UIControls.Resources uiResources = new UIControls.Resources();

            uiResources.background = BgSprite;
            log.LogMessage("   Creating UI Image");
            GameObject uiImage = UIControls.CreateImage(uiResources);

            uiImage.transform.SetParent(parent.transform, false);

            return(uiImage);
        }
        public GameObject createUIScrollbar(GameObject parent, Sprite ScrollbarSprite)
        {
            UIControls.Resources uiResources = new UIControls.Resources();

            uiResources.background = ScrollbarSprite;

            log.LogMessage("   Creating UI Scrollbar");
            GameObject uiScrollbar = UIControls.CreateScrollbar(uiResources);

            uiScrollbar.transform.SetParent(parent.transform, false);

            return(uiScrollbar);
        }
        public GameObject createUIButton(GameObject parent, Sprite NewSprite)
        {
            UIControls.Resources uiResources = new UIControls.Resources();

            uiResources.standard = NewSprite;

            log.LogMessage("   Creating UI Button");
            GameObject uiButton = UIControls.CreateButton(uiResources);

            uiButton.transform.SetParent(parent.transform, false);

            return(uiButton);
        }
        public GameObject createUIToggle(GameObject parent, Sprite BgSprite, Sprite customCheckmarkSprite)
        {
            UIControls.Resources uiResources = new UIControls.Resources();

            uiResources.standard  = BgSprite;
            uiResources.checkmark = customCheckmarkSprite;

            log.LogMessage("   Creating UI Toggle");
            GameObject uiToggle = UIControls.CreateToggle(uiResources);

            uiToggle.transform.SetParent(parent.transform, false);

            return(uiToggle);
        }
        public GameObject createUISlider(GameObject parent, Sprite BgSprite, Sprite FillSprite, Sprite KnobSprite)
        {
            UIControls.Resources uiResources = new UIControls.Resources();

            uiResources.background = BgSprite;
            uiResources.standard   = FillSprite;
            uiResources.knob       = KnobSprite;

            log.LogMessage("   Creating UI Slider");
            GameObject uiSlider = UIControls.CreateSlider(uiResources);

            uiSlider.transform.SetParent(parent.transform, false);

            return(uiSlider);
        }
        public GameObject createUIText(GameObject parent, Sprite BgSprite, Il2CppSystem.String textColor)
        {
            UIControls.Resources uiResources = new UIControls.Resources();

            uiResources.background = BgSprite;

            log.LogMessage("   Creating UI Text");
            GameObject uiText = UIControls.CreateText(uiResources);

            uiText.transform.SetParent(parent.transform, false);

            Text text = uiText.GetComponent <Text>();

            //uiText.transform.GetChild(0).GetComponent<Text>().font = (Font)Resources.GetBuiltinResource(Font.Il2CppType, "Arial.ttf"); // Invalid Cast
            text.color = HTMLString2Color(textColor).Unbox <Color32>();

            return(uiText);
        }
        public GameObject createUIScrollView(GameObject parent, Sprite BgSprite, Sprite customMaskSprite, Sprite customScrollbarSprite)
        {
            UIControls.Resources uiResources = new UIControls.Resources();

            // These 2 all need to be the same for some reason, I think due to scrollview automation.
            uiResources.background = BgSprite;
            uiResources.knob       = BgSprite;

            uiResources.standard = customScrollbarSprite;
            uiResources.mask     = customMaskSprite;

            log.LogMessage("   Creating UI ScrollView");
            GameObject uiScrollView = UIControls.CreateScrollView(uiResources);

            uiScrollView.transform.SetParent(parent.transform, false);

            return(uiScrollView);
        }
        public GameObject createUIInputField(GameObject parent, Sprite BgSprite, Il2CppSystem.String textColor)
        {
            UIControls.Resources uiResources = new UIControls.Resources();

            uiResources.inputField = BgSprite;

            log.LogMessage("   Creating UI InputField");
            GameObject uiInputField = UIControls.CreateInputField(uiResources);

            uiInputField.transform.SetParent(parent.transform, false);

            var textComps = uiInputField.GetComponentsInChildren <Text>();

            foreach (var text in textComps)
            {
                text.color = HTMLString2Color(textColor).Unbox <Color32>();
            }

            return(uiInputField);
        }
        public GameObject createUIDropDown(GameObject parent, Sprite BgSprite, Sprite ScrollbarSprite, Sprite DropDownSprite, Sprite CheckmarkSprite, Sprite customMaskSprite)
        {
            UIControls.Resources uiResources = new UIControls.Resources();

            // Set the Background and Handle Image
            uiResources.standard = BgSprite;
            // Set the Scrollbar Background Image
            uiResources.background = ScrollbarSprite;
            // Set the Dropdown Handle Image
            uiResources.dropdown = DropDownSprite;
            // Set the Checkmark Image
            uiResources.checkmark = CheckmarkSprite;
            // Set the Viewport Mask
            uiResources.mask = customMaskSprite;

            log.LogMessage("   Creating UI DropDown");
            var uiDropdown = UIControls.CreateDropdown(uiResources);

            uiDropdown.transform.SetParent(parent.transform, false);

            return(uiDropdown);
        }
        public GameObject createUIPanel(GameObject canvas, Il2CppSystem.String height, Il2CppSystem.String width, Sprite BgSprite = null)
        {
            UIControls.Resources uiResources = new UIControls.Resources();

            uiResources.background = BgSprite;

            log.LogMessage("   Creating UI Panel");
            GameObject uiPanel = UIControls.CreatePanel(uiResources);

            uiPanel.transform.SetParent(canvas.transform, false);

            RectTransform rectTransform = uiPanel.GetComponent <RectTransform>();

            float size;

            size = Il2CppSystem.Single.Parse(height); // Their is no float support in Unhollower, this avoids errors
            rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, size);
            size = Il2CppSystem.Single.Parse(width);
            rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, size);
            // You can also use rectTransform.sizeDelta = new Vector2(width, height);

            return(uiPanel);
        }