先修复一下,错误的场景 删除不必要的钓场资产 修复into场景 update:更新meta文件,修复报错 update:修复资源 修复第一章节建造 修复建造第三章 update:删除多余内容 update:更新README.md update:还原图标 update:更新README update:更新配置
134 lines
5.0 KiB
C#
134 lines
5.0 KiB
C#
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using UnityEditor;
|
|
using UnityEditor.AddressableAssets;
|
|
using UnityEditor.AddressableAssets.Settings;
|
|
using UnityEngine;
|
|
|
|
public class AssetCheck
|
|
{
|
|
[MenuItem("Tools/Check Asset")]
|
|
static void CheckAsset()
|
|
{
|
|
GetAllGroups();
|
|
}
|
|
|
|
static void GetAllGroups()
|
|
{
|
|
var settings = AddressableAssetSettingsDefaultObject.Settings;
|
|
var allGroups = settings.groups.Where(x => !x.name.StartsWith("Localization")).ToList();
|
|
var packedEntries = new List<AddressableAssetEntry>();
|
|
|
|
|
|
foreach (var g in allGroups)
|
|
{
|
|
foreach (var e in g.entries)
|
|
{
|
|
if (e.labels.Contains("pack"))
|
|
{
|
|
packedEntries.Add(e);
|
|
}
|
|
}
|
|
}
|
|
|
|
var message = "\r\n";
|
|
foreach (var e in packedEntries)
|
|
{
|
|
var dependencies = AssetDatabase.GetDependencies(e.AssetPath, true);
|
|
var sb = new StringBuilder();
|
|
foreach (var d in dependencies)
|
|
{
|
|
var de = settings.FindAssetEntry(AssetDatabase.AssetPathToGUID(d));
|
|
if (de != null && !de.labels.Contains("pack"))
|
|
{
|
|
if (sb.Length == 0)
|
|
{
|
|
sb.AppendLine(e.address);
|
|
sb.AppendLine($"---- {de.parentGroup.Name} {de.address}");
|
|
}
|
|
else
|
|
{
|
|
sb.AppendLine($"---- {de.parentGroup.Name} {de.address}");
|
|
}
|
|
}
|
|
}
|
|
message += sb.ToString();
|
|
}
|
|
|
|
Debug.Log(message);
|
|
}
|
|
|
|
[MenuItem("Assets/Check Asset")]
|
|
static void MenuAssetsFish()
|
|
{
|
|
if (Selection.activeObject == null)
|
|
{
|
|
Debug.Log("Assets choose null");
|
|
}
|
|
else
|
|
{
|
|
Debug.Log("Assets name = " + Selection.activeObject.name);
|
|
GameObject prefab = Selection.activeObject as GameObject;
|
|
string path = AssetDatabase.GetAssetPath(Selection.activeObject);
|
|
var settings = AddressableAssetSettingsDefaultObject.Settings;
|
|
var entry = settings.FindAssetEntry(AssetDatabase.AssetPathToGUID(path));
|
|
if (entry != null)
|
|
{
|
|
AddressableAssetGroup addressableAssetGroup = entry.parentGroup;
|
|
Debug.Log("This asset is addressable, group name = " + addressableAssetGroup.Name);
|
|
var addressableAssetEntries = addressableAssetGroup.entries.Where(x => x.labels.Contains(entry.labels.FirstOrDefault())).ToList();
|
|
var message = "\r\n";
|
|
foreach (var e in addressableAssetEntries)
|
|
{
|
|
var dependencies = AssetDatabase.GetDependencies(e.AssetPath, true);
|
|
var sb = new StringBuilder();
|
|
var sb1 = new StringBuilder();
|
|
foreach (var d in dependencies)
|
|
{
|
|
var de = settings.FindAssetEntry(AssetDatabase.AssetPathToGUID(d));
|
|
if (de != null && !de.labels.Contains("pack") && de.parentGroup.Name != "IconSingle" && !de.labels.Contains(entry.labels.FirstOrDefault()))
|
|
{
|
|
|
|
if (de.parentGroup == addressableAssetGroup)
|
|
{
|
|
if (sb1.Length == 0)
|
|
{
|
|
sb1.AppendLine("↓同一Group 不同主题或当前活动公用");
|
|
sb1.AppendLine(e.address);
|
|
sb1.AppendLine($"---- {de.parentGroup.Name} {de.AssetPath}");
|
|
}
|
|
else
|
|
{
|
|
sb1.AppendLine($"---- {de.parentGroup.Name} {de.AssetPath}");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (sb.Length == 0)
|
|
{
|
|
sb.AppendLine("↓不同 Group 引用其他活动资源");
|
|
sb.AppendLine(e.address);
|
|
sb.AppendLine($"---- {de.parentGroup.Name} {de.AssetPath}");
|
|
}
|
|
else
|
|
{
|
|
sb.AppendLine($"---- {de.parentGroup.Name} {de.AssetPath}");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
message += sb1.ToString() + sb.ToString();
|
|
}
|
|
|
|
Debug.Log(message);
|
|
}
|
|
else
|
|
{
|
|
Debug.Log("This asset is not addressable");
|
|
}
|
|
}
|
|
}
|
|
}
|