#if UNITY_EDITOR
using System;
using System.Collections.Generic;
using System.Reflection;
using UnityEditor;
using UnityEditor.AddressableAssets;
using UnityEditor.AddressableAssets.GUI;
using UnityEditor.AddressableAssets.Settings;
using UnityEngine;
namespace Nemo
{
internal class LCHAddressableAssetsWindow : EditorWindow
{
static LCHAddressableAssetsWindow Instance;
static AddressableAssetSettings setting { get { return AddressableAssetSettingsDefaultObject.Settings; } }
const string LCH_GROUP = "LCH Group";
[MenuItem("LCH/Addressable", false, 0)]
internal static void Init()
{
CreateGroup(LCH_GROUP);
}
private static bool FindGroup(string groupName)
{
for (int i = 0; i < setting.groups.Count; ++i)
{
if (groupName == setting.groups[i].Name) { return true; }
}
return false;
}
private static void CreateGroup(string name)
{
if (!FindGroup(name))
{
AddressableAssetGroup group = setting.CreateGroup(name, false, false, true, new List<AddressableAssetGroupSchema>());
string guid = AssetDatabase.AssetPathToGUID("Assets/Res/Cube/Sphere 1.prefab");
AddressableAssetEntry entry = setting.CreateOrMoveEntry(guid, group, false, true);
entry.SetLabel("Label", true , false, true);
AddressableAssetGroupSchema ags = new AddressableAssetGroupSchema();
}
}
}
}
#endif
