mirror of
https://github.com/tuyoogame/YooAsset.git
synced 2026-05-25 18:20:15 +00:00
@@ -762,6 +762,7 @@ namespace YooAsset.Editor
|
||||
elementTop.Add(objectField);
|
||||
var label = objectField.Q<Label>();
|
||||
label.style.minWidth = 63;
|
||||
UIElementsTools.SetObjectFieldShowPath(objectField);
|
||||
}
|
||||
|
||||
// Bottom VisualElement
|
||||
@@ -851,8 +852,6 @@ namespace YooAsset.Editor
|
||||
|
||||
var collector = selectGroup.Collectors[index];
|
||||
var collectObject = AssetDatabase.LoadAssetAtPath<UnityEngine.Object>(collector.CollectPath);
|
||||
if (collectObject != null)
|
||||
collectObject.name = collector.CollectPath;
|
||||
|
||||
// 注意:非主资源收集器的标签栏需要被冻结
|
||||
var textTags = element.Q<TextField>("TextField1");
|
||||
@@ -885,13 +884,13 @@ namespace YooAsset.Editor
|
||||
{
|
||||
collector.CollectPath = AssetDatabase.GetAssetPath(evt.newValue);
|
||||
collector.CollectorGUID = AssetDatabase.AssetPathToGUID(collector.CollectPath);
|
||||
objectField1.value.name = collector.CollectPath;
|
||||
AssetBundleCollectorSettingData.ModifyCollector(selectGroup, collector);
|
||||
if (foldout.value)
|
||||
{
|
||||
RefreshFoldout(foldout, selectGroup, collector);
|
||||
}
|
||||
});
|
||||
UIElementsTools.RefreshObjectFieldShowPath(objectField1);
|
||||
|
||||
// Collector Type
|
||||
var popupField0 = element.Q<PopupField<string>>("PopupField0");
|
||||
|
||||
@@ -33,6 +33,67 @@ namespace YooAsset.Editor
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置元素显示文本为资源路径
|
||||
/// </summary>
|
||||
public static void SetObjectFieldShowPath(ObjectField objectField)
|
||||
{
|
||||
string LabelClassName = "unity-object-field-display__label";
|
||||
var nameLable = objectField.Q<Label>(className: LabelClassName);
|
||||
if (nameLable == null)
|
||||
return;
|
||||
|
||||
objectField.RegisterValueChangedCallback(evt =>
|
||||
{
|
||||
Object obj = evt.newValue;
|
||||
if (obj == null)
|
||||
{
|
||||
nameLable.text = "None (Object)";
|
||||
return;
|
||||
}
|
||||
|
||||
// 获取资源路径(仅适用于项目资源)
|
||||
string path = AssetDatabase.GetAssetPath(obj);
|
||||
if (string.IsNullOrEmpty(path) == false)
|
||||
{
|
||||
nameLable.text = path;
|
||||
}
|
||||
else
|
||||
{
|
||||
nameLable.text = obj.name;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 刷新元素显示文本内容
|
||||
/// </summary>
|
||||
public static void RefreshObjectFieldShowPath(ObjectField objectField)
|
||||
{
|
||||
string LabelClassName = "unity-object-field-display__label";
|
||||
var nameLable = objectField.Q<Label>(className: LabelClassName);
|
||||
if (nameLable == null)
|
||||
return;
|
||||
|
||||
Object obj = objectField.value;
|
||||
if (obj == null)
|
||||
{
|
||||
nameLable.text = "None (Object)";
|
||||
return;
|
||||
}
|
||||
|
||||
// 获取资源路径(仅适用于项目资源)
|
||||
string path = AssetDatabase.GetAssetPath(obj);
|
||||
if (string.IsNullOrEmpty(path) == false)
|
||||
{
|
||||
nameLable.text = path;
|
||||
}
|
||||
else
|
||||
{
|
||||
nameLable.text = obj.name;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置按钮图标
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user