private void draw(UIScrollSelection ScrollView) { UILabel content = EditorGUILayout.ObjectField("内容", ScrollView.labelContent, typeof(UILabel), true) as UILabel; int startSpaceCount = EditorGUILayout.IntField("起始空行数", ScrollView.startSpaceCount); int endSpaceCount = EditorGUILayout.IntField("结尾空行数", ScrollView.endSpaceCount); GUILayout.Space(3); string uvaluechange = EditorGUILayout.TextField("值改变事件", ScrollView.eValueChange); GUILayout.Space(3); string extraParam = EditorGUILayout.TextField("事件额外参数", ScrollView.eParam); if (GUI.changed) { EditorTools.RegisterUndo("UIScrollSelection", ScrollView); ScrollView.startSpaceCount = startSpaceCount; ScrollView.endSpaceCount = endSpaceCount; ScrollView.eValueChange = uvaluechange; ScrollView.eParam = extraParam; ScrollView.labelContent = content; EditorTools.SetDirty(ScrollView); } }
public override void OnInspectorGUI() { UIScrollSelection uiScrollView = target as UIScrollSelection; EditorTools.DrawUpdateKeyTextField(uiScrollView); base.OnInspectorGUI(); GUILayout.Space(10); draw(uiScrollView); }
static void Gen_GF_UIScrollSelection() { GameObject g_scrollview = new GameObject("UIScrollSelection", typeof(RectTransform)); GameObject g_Grid = new GameObject("content", typeof(RectTransform)); GameObject g_select = new GameObject("select", typeof(RectTransform)); g_select.transform.parent = g_scrollview.transform; g_Grid.transform.parent = g_scrollview.transform; RectTransform rect_scrollview = g_scrollview.GetComponent <RectTransform>(); RectTransform rect_select = g_select.GetComponent <RectTransform>(); RectTransform rect_grid = g_Grid.GetComponent <RectTransform>(); rect_select.sizeDelta = new Vector2(100, 20); rect_select.anchoredPosition = new Vector2(0, 0); rect_select.anchorMin = new Vector2(0.5f, 0.5f); rect_select.anchorMax = new Vector2(0.5f, 0.5f); Image image = g_select.AddComponent <UISprite> (); image.color = new Color(0, 0, 0, 0.4f); image.raycastTarget = false; rect_grid.pivot = new Vector2(0.5f, 1.0f); rect_scrollview.sizeDelta = new Vector2(100, 111); UILabel content = g_Grid.AddComponent <UILabel> (); content.raycastTarget = false; content.alignment = TextAnchor.UpperCenter; content.verticalOverflow = VerticalWrapMode.Overflow; content.supportRichText = false; content.fontSize = 20; content.text = "\n\n1\n2\n3\n4\n5\n6\n7\n8\n9\nA\nB\nC\nD\nE\nF\n\n"; rect_scrollview.anchorMax = new Vector2(1, 1); rect_scrollview.anchorMin = new Vector2(0, 0); rect_scrollview.pivot = new Vector2(0.5f, 0.5f); rect_grid.anchorMax = new Vector2(0.5f, 1.0f); rect_grid.anchorMin = new Vector2(0.5f, 1.0f); rect_grid.pivot = new Vector2(0.5f, 1f); rect_grid.anchoredPosition = Vector2.zero; g_scrollview.AddComponent <Image> ().color = new Color(1, 1, 1, 0.5f); g_scrollview.AddComponent <Mask> (); UIScrollSelection uisv = g_scrollview.AddComponent <UIScrollSelection> (); uisv.movementType = ScrollRect.MovementType.Elastic; uisv.vertical = true; uisv.horizontal = false; uisv.labelContent = content; uisv.startSpaceCount = 2; uisv.endSpaceCount = 2; RectTransform uisvtf = uisv.GetComponent <RectTransform>(); uisvtf.anchorMin = new Vector2(0.5f, 0.5f); uisvtf.anchorMax = new Vector2(0.5f, 0.5f); uisvtf.pivot = new Vector2(0.5f, 0.5f); uisv.content = rect_grid; uisv.horizontal = false; uisv.viewport = rect_scrollview; ContentSizeFitter csf = g_Grid.AddComponent <ContentSizeFitter> (); csf.horizontalFit = ContentSizeFitter.FitMode.Unconstrained; csf.verticalFit = ContentSizeFitter.FitMode.PreferredSize; AddToUIRoot(g_scrollview); g_scrollview.layer = LayerMask.NameToLayer("UI"); }