ui a main menu a join a host lobby
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 529 B |
@@ -0,0 +1,124 @@
|
||||
using UnityEditor;
|
||||
using UnityEditor.UI;
|
||||
using UnityEngine;
|
||||
|
||||
namespace ACRoundedRectMask
|
||||
{
|
||||
/// <summary>
|
||||
/// Custom editor for the RoundedRectMask2D component.
|
||||
/// </summary>
|
||||
[CustomEditor(typeof(RoundedRectMask2D), true)]
|
||||
[CanEditMultipleObjects]
|
||||
public class RoundedRectMask2DInspector : RectMask2DEditor
|
||||
{
|
||||
private static GUIContent radiusContent = new GUIContent("Corner Radius", "Determines the radius of the rect mask's corners.");
|
||||
private static GUIContent radiiContent = new GUIContent("Corner Radii", "Determines the radius of each corner of the rect mask.");
|
||||
private static GUIContent topLeftContent = new GUIContent("Top Left", "Local -X, +Y corner.");
|
||||
private static GUIContent topRightContent = new GUIContent("Top Right", "Local +X, +Y corner.");
|
||||
private static GUIContent bottomLeftContent = new GUIContent("Bottom Left", "Local -X, -Y corner.");
|
||||
private static GUIContent bottomRightContent = new GUIContent("Bottom Right", "Local +X, -Y corner.");
|
||||
private static bool showRadii = false;
|
||||
|
||||
private static GUIContent paddingContent = new GUIContent("Padding");
|
||||
private static GUIContent leftContent = new GUIContent("Left");
|
||||
private static GUIContent rightContent = new GUIContent("Right");
|
||||
private static GUIContent topContent = new GUIContent("Top");
|
||||
private static GUIContent bottomContent = new GUIContent("Bottom");
|
||||
private static bool showOffsets = false;
|
||||
|
||||
private SerializedProperty independentRadii;
|
||||
private SerializedProperty radii;
|
||||
private SerializedProperty padding;
|
||||
private SerializedProperty cloneMaterials;
|
||||
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override void OnEnable()
|
||||
{
|
||||
independentRadii = serializedObject.FindProperty("independantRadii");
|
||||
radii = serializedObject.FindProperty("radii");
|
||||
padding = serializedObject.FindProperty("m_Padding");
|
||||
cloneMaterials = serializedObject.FindProperty("cloneMaskableMaterialsOnStart");
|
||||
|
||||
base.OnEnable();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Renders a custom inspector GUI that displays radius options and hides softness properties.
|
||||
/// </summary>
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
EditorGUILayout.PropertyField(independentRadii);
|
||||
|
||||
if (independentRadii.boolValue)
|
||||
{
|
||||
showRadii = EditorGUILayout.Foldout(showRadii, radiiContent, true);
|
||||
|
||||
|
||||
if (showRadii)
|
||||
{
|
||||
using (var check = new EditorGUI.ChangeCheckScope())
|
||||
{
|
||||
EditorGUI.indentLevel++;
|
||||
Vector4 newRadii = radii.vector4Value;
|
||||
|
||||
newRadii.x = Mathf.Max(0.0f, EditorGUILayout.FloatField(topLeftContent, newRadii.x));
|
||||
newRadii.y = Mathf.Max(0.0f, EditorGUILayout.FloatField(topRightContent, newRadii.y));
|
||||
newRadii.z = Mathf.Max(0.0f, EditorGUILayout.FloatField(bottomLeftContent, newRadii.z));
|
||||
newRadii.w = Mathf.Max(0.0f, EditorGUILayout.FloatField(bottomRightContent, newRadii.w));
|
||||
|
||||
if (check.changed)
|
||||
{
|
||||
radii.vector4Value = newRadii;
|
||||
}
|
||||
|
||||
EditorGUI.indentLevel--;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
using (var check = new EditorGUI.ChangeCheckScope())
|
||||
{
|
||||
float newRadius = radii.vector4Value.x;
|
||||
|
||||
newRadius = Mathf.Max(0.0f, EditorGUILayout.FloatField(radiusContent, newRadius));
|
||||
|
||||
if (check.changed)
|
||||
{
|
||||
Vector4 newRadii = radii.vector4Value;
|
||||
newRadii = Vector4.one * newRadius;
|
||||
radii.vector4Value = newRadii;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Rather than call base.OnInspectorGUI() manually showing padding so that softness can be hidden since it is not supported by rounded rect masks.
|
||||
showOffsets = EditorGUILayout.Foldout(showOffsets, paddingContent, true);
|
||||
|
||||
if (showOffsets)
|
||||
{
|
||||
using (var check = new EditorGUI.ChangeCheckScope())
|
||||
{
|
||||
EditorGUI.indentLevel++;
|
||||
Vector4 newPadding = padding.vector4Value;
|
||||
|
||||
newPadding.x = EditorGUILayout.FloatField(leftContent, newPadding.x);
|
||||
newPadding.z = EditorGUILayout.FloatField(rightContent, newPadding.z);
|
||||
newPadding.w = EditorGUILayout.FloatField(topContent, newPadding.w);
|
||||
newPadding.y = EditorGUILayout.FloatField(bottomContent, newPadding.y);
|
||||
|
||||
if (check.changed)
|
||||
{
|
||||
padding.vector4Value = newPadding;
|
||||
}
|
||||
EditorGUI.indentLevel--;
|
||||
}
|
||||
}
|
||||
|
||||
EditorGUILayout.PropertyField(cloneMaterials);
|
||||
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user