对Hierarchy进行提升
This commit is contained in:
8
Convention/Editor/UI.meta
Normal file
8
Convention/Editor/UI.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c35ac0f81d1249a46909cd5f6156b761
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
12
Convention/Editor/UI/Button.cs
Normal file
12
Convention/Editor/UI/Button.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using Convention;
|
||||
using UnityEditor;
|
||||
using Convention.WindowsUI;
|
||||
|
||||
[CustomEditor(typeof(ModernUIButton))]
|
||||
public class ModernUIButtonEditor : AbstractCustomEditor
|
||||
{
|
||||
|
||||
}
|
11
Convention/Editor/UI/Button.cs.meta
Normal file
11
Convention/Editor/UI/Button.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b297501dc7cdd2149ab976e2fb8f88f0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -77,6 +77,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_rawButton: {fileID: 6792858692426831327}
|
||||
m_modernButton: {fileID: 0}
|
||||
layerTab: 7.5
|
||||
layerHeight: 15
|
||||
dropdownImage: {fileID: 7630776060629663467}
|
||||
|
@@ -439,6 +439,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_rawButton: {fileID: 3558458297121154720}
|
||||
m_modernButton: {fileID: 0}
|
||||
layerTab: 7.5
|
||||
layerHeight: 15
|
||||
dropdownImage: {fileID: 240697464900702333}
|
||||
|
@@ -273,14 +273,9 @@ namespace Convention
|
||||
public IEnumerator LoadAsAssetBundle([In] Action<AssetBundle> callback)
|
||||
{
|
||||
AssetBundleCreateRequest result = AssetBundle.LoadFromFileAsync(FullPath);
|
||||
result.completed += x =>
|
||||
{
|
||||
if (x.isDone)
|
||||
{
|
||||
callback(result.assetBundle);
|
||||
}
|
||||
};
|
||||
yield return result;
|
||||
callback(result.assetBundle);
|
||||
yield return null;
|
||||
}
|
||||
|
||||
public string LoadAsUnknown(string suffix)
|
||||
|
@@ -10,6 +10,11 @@ namespace Convention.WindowsUI.Variant
|
||||
string HierarchyItemTitle { get; }
|
||||
}
|
||||
|
||||
public interface IHierarchyItemClickEventListener
|
||||
{
|
||||
void OnHierarchyItemClick(HierarchyItem item);
|
||||
}
|
||||
|
||||
public class HierarchyItem : PropertyListItem
|
||||
{
|
||||
[Content, HopeNotNull] public object m_target;
|
||||
@@ -70,6 +75,10 @@ namespace Convention.WindowsUI.Variant
|
||||
{
|
||||
InspectorWindow.instance.SetTarget(target, this);
|
||||
}
|
||||
if(target is IHierarchyItemClickEventListener listener)
|
||||
{
|
||||
listener.OnHierarchyItemClick(this);
|
||||
}
|
||||
}
|
||||
if (!IsEnableFocusWindow)
|
||||
return;
|
||||
|
@@ -9,9 +9,11 @@ namespace Convention.WindowsUI.Variant
|
||||
{
|
||||
public class PropertyListItem : WindowUIModule, ITitle, IText, IItemEntry, IActionInvoke
|
||||
{
|
||||
[Resources, SerializeField, OnlyNotNullMode] private Button m_rawButton;
|
||||
[Resources, SerializeField, OnlyNotNullMode(nameof(m_rawButton))] private float layerTab = 7.5f;
|
||||
[Resources, SerializeField, OnlyNotNullMode(nameof(m_rawButton))] private float layerHeight = 15f;
|
||||
[Resources, SerializeField] private Button m_rawButton;
|
||||
[Resources, SerializeField] private ModernUIButton m_modernButton;
|
||||
public GameObject ButtonGameObject => m_rawButton == null ? m_modernButton.gameObject : m_rawButton.gameObject;
|
||||
[Resources, SerializeField] private float layerTab = 7.5f;
|
||||
[Resources, SerializeField] private float layerHeight = 15f;
|
||||
[Resources, SerializeField, OnlyNotNullMode] private RectTransform dropdownImage;
|
||||
[Resources, SerializeField, OnlyNotNullMode] private Text m_buttonText;
|
||||
[Resources, SerializeField, OnlyNotNullMode, Header("Self Layer")] private RectTransform m_Layer;
|
||||
@@ -44,10 +46,13 @@ namespace Convention.WindowsUI.Variant
|
||||
|
||||
protected virtual void Start()
|
||||
{
|
||||
m_rawButton.gameObject.AddComponent<RectTransformExtension.AdjustSizeIgnore>();
|
||||
ButtonGameObject.AddComponent<RectTransformExtension.AdjustSizeIgnore>();
|
||||
dropdownImage.gameObject.AddComponent<RectTransformExtension.AdjustSizeIgnore>();
|
||||
m_buttonText.gameObject.AddComponent<RectTransformExtension.AdjustSizeIgnore>();
|
||||
m_rawButton.onClick.AddListener(Switch);
|
||||
if (m_rawButton != null)
|
||||
m_rawButton.onClick.AddListener(Switch);
|
||||
else
|
||||
m_modernButton.AddListener(Switch);
|
||||
TextRectTransform = m_buttonText.GetComponent<RectTransform>();
|
||||
dropdownImage.eulerAngles = new(0, 0, IsFold ? 90 : 0);
|
||||
}
|
||||
@@ -79,7 +84,23 @@ namespace Convention.WindowsUI.Variant
|
||||
|
||||
public virtual string title { get => m_buttonText.title; set => m_buttonText.title = value; }
|
||||
public virtual string text { get => m_buttonText.text; set => m_buttonText.text = value; }
|
||||
public virtual bool interactable { get => m_rawButton.interactable; set => m_rawButton.interactable = value; }
|
||||
public virtual bool interactable
|
||||
{
|
||||
get
|
||||
{
|
||||
if (m_rawButton != null)
|
||||
return m_rawButton.interactable;
|
||||
else
|
||||
return m_modernButton.interactable;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (m_rawButton != null)
|
||||
m_rawButton.interactable = value;
|
||||
else
|
||||
m_modernButton.interactable = value;
|
||||
}
|
||||
}
|
||||
|
||||
public void Switch()
|
||||
{
|
||||
@@ -134,7 +155,10 @@ namespace Convention.WindowsUI.Variant
|
||||
{
|
||||
foreach (var item in action)
|
||||
{
|
||||
m_rawButton.onClick.AddListener(item);
|
||||
if (m_rawButton != null)
|
||||
m_rawButton.onClick.AddListener(item);
|
||||
else
|
||||
m_modernButton.AddListener(item);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
@@ -143,14 +167,20 @@ namespace Convention.WindowsUI.Variant
|
||||
{
|
||||
foreach (var item in action)
|
||||
{
|
||||
m_rawButton.onClick.RemoveListener(item);
|
||||
if (m_rawButton != null)
|
||||
m_rawButton.onClick.RemoveListener(item);
|
||||
else
|
||||
m_modernButton.RemoveListener(item);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public IActionInvoke RemoveAllListeners()
|
||||
{
|
||||
m_rawButton.onClick.RemoveAllListeners();
|
||||
if (m_rawButton != null)
|
||||
m_rawButton.onClick.RemoveAllListeners();
|
||||
else
|
||||
m_modernButton.RemoveAllListeners();
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user