You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
4.9 KiB
127 lines
4.9 KiB
3 years ago
|
using UnityEngine;
|
||
|
using UnityEditor;
|
||
|
using FairyGUI;
|
||
|
|
||
|
namespace FairyGUIEditor
|
||
|
{
|
||
|
/// <summary>
|
||
|
///
|
||
|
/// </summary>
|
||
|
[CustomEditor(typeof(DisplayObjectInfo))]
|
||
|
public class DisplayObjectEditor : Editor
|
||
|
{
|
||
|
void OnEnable()
|
||
|
{
|
||
|
}
|
||
|
|
||
|
public override void OnInspectorGUI()
|
||
|
{
|
||
|
DisplayObject obj = (target as DisplayObjectInfo).displayObject;
|
||
|
if (obj == null)
|
||
|
return;
|
||
|
|
||
|
EditorGUILayout.LabelField(obj.GetType().Name + ": " + obj.id, (GUIStyle)"OL Title");
|
||
|
EditorGUILayout.Separator();
|
||
|
EditorGUI.BeginChangeCheck();
|
||
|
string name = EditorGUILayout.TextField("Name", obj.name);
|
||
|
if (EditorGUI.EndChangeCheck())
|
||
|
obj.name = name;
|
||
|
if (obj is Container)
|
||
|
{
|
||
|
EditorGUI.BeginChangeCheck();
|
||
|
bool fairyBatching = EditorGUILayout.Toggle("FairyBatching", ((Container)obj).fairyBatching);
|
||
|
if (EditorGUI.EndChangeCheck())
|
||
|
((Container)obj).fairyBatching = fairyBatching;
|
||
|
}
|
||
|
|
||
|
GObject gObj = obj.gOwner;
|
||
|
if (gObj != null)
|
||
|
{
|
||
|
EditorGUILayout.Separator();
|
||
|
EditorGUILayout.LabelField(gObj.GetType().Name + ": " + gObj.id, (GUIStyle)"OL Title");
|
||
|
EditorGUILayout.Separator();
|
||
|
|
||
|
if (!string.IsNullOrEmpty(gObj.resourceURL))
|
||
|
{
|
||
|
PackageItem pi = UIPackage.GetItemByURL(gObj.resourceURL);
|
||
|
EditorGUILayout.BeginHorizontal();
|
||
|
EditorGUILayout.PrefixLabel("Resource");
|
||
|
EditorGUILayout.LabelField(pi.name + "@" + pi.owner.name);
|
||
|
EditorGUILayout.EndHorizontal();
|
||
|
}
|
||
|
|
||
|
EditorGUI.BeginChangeCheck();
|
||
|
name = EditorGUILayout.TextField("Name", gObj.name);
|
||
|
if (EditorGUI.EndChangeCheck())
|
||
|
gObj.name = name;
|
||
|
|
||
|
if (gObj.parent != null)
|
||
|
{
|
||
|
string[] options = new string[gObj.parent.numChildren];
|
||
|
int[] values = new int[options.Length];
|
||
|
for (int i = 0; i < options.Length; i++)
|
||
|
{
|
||
|
options[i] = i.ToString();
|
||
|
values[i] = i;
|
||
|
}
|
||
|
EditorGUI.BeginChangeCheck();
|
||
|
int childIndex = EditorGUILayout.IntPopup("Child Index", gObj.parent.GetChildIndex(gObj), options, values);
|
||
|
if (EditorGUI.EndChangeCheck())
|
||
|
gObj.parent.SetChildIndex(gObj, childIndex);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
EditorGUILayout.BeginHorizontal();
|
||
|
EditorGUILayout.PrefixLabel("Child Index");
|
||
|
EditorGUILayout.LabelField("No Parent");
|
||
|
EditorGUILayout.EndHorizontal();
|
||
|
}
|
||
|
|
||
|
EditorGUI.BeginChangeCheck();
|
||
|
Vector3 position = EditorGUILayout.Vector3Field("Position", gObj.position);
|
||
|
if (EditorGUI.EndChangeCheck())
|
||
|
gObj.position = position;
|
||
|
|
||
|
EditorGUI.BeginChangeCheck();
|
||
|
Vector3 rotation = EditorGUILayout.Vector3Field("Rotation", new Vector3(gObj.rotationX, gObj.rotationY, gObj.rotation));
|
||
|
if (EditorGUI.EndChangeCheck())
|
||
|
{
|
||
|
gObj.rotationX = rotation.x;
|
||
|
gObj.rotationY = rotation.y;
|
||
|
gObj.rotation = rotation.z;
|
||
|
}
|
||
|
|
||
|
EditorGUI.BeginChangeCheck();
|
||
|
Vector2 scale = EditorGUILayout.Vector2Field("Scale", gObj.scale);
|
||
|
if (EditorGUI.EndChangeCheck())
|
||
|
gObj.scale = scale;
|
||
|
|
||
|
EditorGUI.BeginChangeCheck();
|
||
|
Vector2 skew = EditorGUILayout.Vector2Field("Skew", gObj.skew);
|
||
|
if (EditorGUI.EndChangeCheck())
|
||
|
gObj.skew = skew;
|
||
|
|
||
|
EditorGUI.BeginChangeCheck();
|
||
|
Vector2 size = EditorGUILayout.Vector2Field("Size", gObj.size);
|
||
|
if (EditorGUI.EndChangeCheck())
|
||
|
gObj.size = size;
|
||
|
|
||
|
EditorGUI.BeginChangeCheck();
|
||
|
Vector2 pivot = EditorGUILayout.Vector2Field("Pivot", gObj.pivot);
|
||
|
if (EditorGUI.EndChangeCheck())
|
||
|
gObj.pivot = pivot;
|
||
|
|
||
|
EditorGUI.BeginChangeCheck();
|
||
|
string text = EditorGUILayout.TextField("Text", gObj.text);
|
||
|
if (EditorGUI.EndChangeCheck())
|
||
|
gObj.text = text;
|
||
|
|
||
|
EditorGUI.BeginChangeCheck();
|
||
|
string icon = EditorGUILayout.TextField("Icon", gObj.icon);
|
||
|
if (EditorGUI.EndChangeCheck())
|
||
|
gObj.icon = icon;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|