private static GameObject Toggle() { System.Action <GameObject> callback = (go) => { var toggle = go.GetComponent <Toggle>(); var image = go.AddComponent <NoOverdrawImage>(); toggle.targetGraphic = image; if (go.transform.parent != null) { var toggleGroup = go.transform.parent.GetComponent <ToggleGroup>(); if (toggleGroup != null) { toggle.group = toggleGroup; } } GameObject enableGo = new GameObject("Enable"); enableGo.AddComponent <RectTransform>(); enableGo.transform.SetParent(go.transform); GameObject disableGo = new GameObject("Disable"); disableGo.AddComponent <RectTransform>(); disableGo.transform.SetParent(go.transform); var toggleExtend = go.AddComponent <ToggleExtend>(); ReflectionHelper.BindMenber(typeof(ToggleExtend), "m_Toggle", toggleExtend, toggle); ReflectionHelper.BindMenber(typeof(ToggleExtend), "m_EnableStateRoot", toggleExtend, enableGo); ReflectionHelper.BindMenber(typeof(ToggleExtend), "m_DisableStateRoot", toggleExtend, disableGo); }; return(CreateGO <Toggle>("Toggle_", callback)); }
private static GameObject ProgressCircle() { System.Action <GameObject> callback = (go) => { var progress = go.GetComponent <GProgress>(); var image = go.AddComponent <Image>(); HandleImage(image); var rect = go.GetComponent <RectTransform>(); rect.SetSize(new Vector2(200, 200)); GameObject progressImgGo = new GameObject("ImgProgress", typeof(Image)); RectTransform rectProgressImg = progressImgGo.GetComponent <RectTransform>(); rectProgressImg.SetAnchor(AnchorPresets.StretchAll, 0, 0); rectProgressImg.SetSize(rect.sizeDelta); progressImgGo.transform.SetParent(go.transform); var progressImg = progressImgGo.GetComponent <Image>(); HandleImage(progressImg); progressImg.type = UnityEngine.UI.Image.Type.Filled; progressImg.fillMethod = UnityEngine.UI.Image.FillMethod.Radial360; progressImg.fillOrigin = 2; progressImg.fillClockwise = false; GameObject progressTxtGo = new GameObject("TxtProgress", typeof(Text)); RectTransform rectText = progressTxtGo.GetComponent <RectTransform>(); rectText.SetAnchor(AnchorPresets.StretchAll, 0, 0); rectText.SetSize(rect.sizeDelta); progressTxtGo.transform.SetParent(go.transform); Text progressTxt = progressTxtGo.GetComponent <Text>(); HandleText(progressTxt); ReflectionHelper.BindMenber(typeof(GProgress), "m_ImgProgress", progress, progressImg); ReflectionHelper.BindMenber(typeof(GProgress), "m_TxtProgress", progress, progressTxt); progress.SetProgress(0.6f); }; return(CreateGO <GProgress>("Progress_", callback)); }