/// <summary> /// A method with default parameters. /// </summary> public void DefaultParameters <T>(bool @bool = true, bool?no = false, bool?maybe = null, byte @byte = byte.MaxValue, sbyte @sbyte = sbyte.MaxValue, char @char = '\u1234', decimal @decimal = 3.14m, double @double = double.NaN, float @float = float.NegativeInfinity, int @int = -42, uint @uint = 42, long @long = long.MinValue, ulong @ulong = long.MaxValue, object @object = null, short @short = short.MinValue, ushort @ushort = ushort.MaxValue, string @string = "hi\0'\"\\\a\b\f\n\r\t\v\u0001\uABCD", T t = default(T), DateTime @virtual = default(DateTime), ExampleEnum @enum = ExampleEnum.One, ExampleFlagsEnum flags = ExampleFlagsEnum.Second | ExampleFlagsEnum.Third) { }
protected override void OnGUI() { base.OnGUI(); pos = EditorGUILayout.BeginScrollView(pos); if (GUILayout.Button("这是一个按钮")) { Debug.Log("Click Button"); } EditorGUILayout.LabelField("空格"); EditorGUILayout.Separator(); EditorGUILayout.Space(); EditorGUILayout.LabelField("这是一个默认Lable"); EditorGUILayout.LabelField("这是高300,宽50的Label", GUILayout.Width(300), GUILayout.Height(50)); EditorGUILayout.LabelField("这是一个拾色器"); EditorGUILayout.ColorField(Color.white); EditorGUILayout.LabelField("Bounds"); bounds = EditorGUILayout.BoundsField(bounds); EditorGUILayout.LabelField("BoundsInt"); boundsInt = EditorGUILayout.BoundsIntField(boundsInt); EditorGUILayout.LabelField("AnimationCurve"); curve = EditorGUILayout.CurveField(curve); EditorGUILayout.LabelField("<color=#ff0000>注意比对延迟设置和直接设置的区别</color>", Style); EditorGUILayout.Space(); toggle = EditorGUILayout.Toggle("Toggle", toggle); toggleLeft = EditorGUILayout.ToggleLeft("ToggleLeft", toggleLeft); //double EditorGUILayout.LabelField("延迟设置" + delayedDou.ToString()); delayedDou = EditorGUILayout.DelayedDoubleField("DelayedDouble", delayedDou); EditorGUILayout.LabelField("直接设置" + dou.ToString()); dou = EditorGUILayout.DoubleField("Double", dou); delayedInt = EditorGUILayout.DelayedIntField("DelayedInt", delayedInt); //int i = EditorGUILayout.IntField("Int", i); sliderInt = EditorGUILayout.IntSlider(sliderInt, 0, 100); //text delayedText = EditorGUILayout.DelayedTextField("DelayedText", delayedText); text = EditorGUILayout.TextField("Text", text); password = EditorGUILayout.PasswordField("Password", password); EditorGUILayout.LabelField("TextArea"); textArea = EditorGUILayout.TextArea(textArea); //float delayedFloat = EditorGUILayout.DelayedFloatField("DelayedFloat", delayedFloat); f = EditorGUILayout.FloatField("Float", f); fSlider = EditorGUILayout.Slider("FloatSlider", fSlider, 0, 10); fKnob = EditorGUILayout.Knob(new Vector2(100, 100), fKnob, 0, 10, "Knob", Color.blue, Color.red, true); longvalue = EditorGUILayout.LongField("Long", longvalue); //vector v2 = EditorGUILayout.Vector2Field("Vector2", v2); v2Int = EditorGUILayout.Vector2IntField("Vector2Int", v2Int); v3 = EditorGUILayout.Vector3Field("Vector3", v3); v3Int = EditorGUILayout.Vector3IntField("Vector3Int", v3Int); v4 = EditorGUILayout.Vector4Field("Vector4", v4); EditorGUILayout.LabelField("枚举Field"); m_Flags = (ExampleFlagsEnum)EditorGUILayout.EnumFlagsField(m_Flags); EditorGUILayout.LabelField("注意两者的区别"); m_Flags = (ExampleFlagsEnum)EditorGUILayout.EnumPopup(m_Flags); gradient = EditorGUILayout.GradientField("Gradient", gradient); go = (GameObject)EditorGUILayout.ObjectField("GameObject", go, typeof(GameObject), true); clip = (AnimationClip)EditorGUILayout.ObjectField("Clip", clip, typeof(AnimationClip), true); EditorGUILayout.LabelField("Rect"); rect = EditorGUILayout.RectField(rect); EditorGUILayout.LabelField("RectInt"); rectInt = EditorGUILayout.RectIntField(rectInt); EditorGUILayout.HelpBox("这是一个信息Box", MessageType.Info); EditorGUILayout.HelpBox("这是一个警告Box", MessageType.Warning); EditorGUILayout.HelpBox("这是一个错误Box", MessageType.Error); EditorGUILayout.SelectableLabel("SelectableLabel"); EditorGUILayout.EndScrollView(); }
void showOptionContent1() { GUILayout.Label("Base Setting", EditorStyles.boldLabel); m_Number = EditorGUILayout.IntSlider(m_Number, 0, 10); //实现一个渐隐效果的Toggle IsShowExtra.target = EditorGUILayout.ToggleLeft("显示一个额外的区域", IsShowExtra.target); //Extra block that can be toggled on and off. if (EditorGUILayout.BeginFadeGroup(IsShowExtra.faded)) { //各种Field EditorGUI.indentLevel++; //加一层缩进 EditorGUILayout.PrefixLabel("ColorField"); //PrefixLabel m_Color = EditorGUILayout.ColorField(m_Color); EditorGUILayout.PrefixLabel("TextField"); m_String = EditorGUILayout.TextField(m_String); EditorGUILayout.PrefixLabel("EnumFlagsField"); m_Flags = (ExampleFlagsEnum)EditorGUILayout.EnumFlagsField(m_Flags); EditorGUILayout.PrefixLabel("MaskField"); flags = EditorGUILayout.MaskField("Player Flags", flags, options); // BoundsField bounds = EditorGUILayout.BoundsField("BoundsField", bounds); //??不理解这个是干嘛的 EditorGUI.indentLevel--; //还原缩进 op = (OPTIONS)EditorGUILayout.EnumPopup("Primitive to create:", op); } EditorGUILayout.EndFadeGroup(); //toggle group groupEnabled = EditorGUILayout.BeginToggleGroup("Optional Setting", groupEnabled); pos[0] = EditorGUILayout.Toggle("x", pos[0]); pos[1] = EditorGUILayout.Toggle("y", pos[1]); pos[2] = EditorGUILayout.Toggle("z", pos[2]); myFloat = EditorGUILayout.Slider("Slider", myFloat, -3, 3); EditorGUILayout.EndToggleGroup(); //DropdownButton用法 if (EditorGUILayout.DropdownButton(new GUIContent("Click and Drop"), FocusType.Keyboard)) { var alls = new string[4] { "A", "B", "C", "D" }; GenericMenu _menu = new GenericMenu(); foreach (var item in alls) { if (string.IsNullOrEmpty(item)) { continue; } //添加菜单 _menu.AddItem(new GUIContent(item), item == selectItem, OnClickDropdownButton, item); } _menu.ShowAsContext();//显示菜单 } //折叠栏 bFoldOut = EditorGUILayout.Foldout(bFoldOut, status); if (bFoldOut) { if (Selection.activeTransform) { Selection.activeTransform.position = EditorGUILayout.Vector3Field("Position", Selection.activeTransform.position); status = Selection.activeTransform.name; } } if (!Selection.activeTransform) { status = "Select a GameObject"; bFoldOut = false; } }