Files
Net.Like.Xue.Tokyo/Packages-Local/Com.Project.B.Unity/BuyStation/ScriptableBuyStationEditorWindow.cs

50 lines
1.6 KiB
C#
Raw Normal View History

2025-06-24 23:49:13 +08:00
#if UNITY_EDITOR
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using BITKit;
using BITKit.GameEditor;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Net.Project.B.Inventory;
using Project.B.Item;
using UnityEditor;
using UnityEngine;
using UnityEngine.UIElements;
namespace Net.Project.B.Inventory
{
public class ScriptableBuyStationEditorWindow : ScriptableObjectGroupEditor<ScriptableBuyStationItemList>
{
protected override string AssetsPath => "Assets/Artists/Configs/BuyStation";
[MenuItem("Tools/Scriptable Editor/Buy Station")]
public static void Open()
{
GetWindow<ScriptableBuyStationEditorWindow>().Show();
}
protected override void OnEnable()
{
base.OnEnable();
{
var button = ToolBarContainer.Create<Button>();
button.text = $"从已选的{nameof(ScriptableItem)}添加进入{nameof(ScriptableBuyStationItemList)}";
button.clicked += AddFromSelection;
}
}
private void AddFromSelection()
{
if (listView.selectedItem is not ScriptableBuyStationItemList so) return;
foreach (var item in Selection.objects.OfType<ScriptableItem>())
{
if(so.ItemList.Any(x=>x.ScriptableId == item.Id))continue;
so.itemList.Add(new ScriptableBuyStationItemList.ItemInfo()
{
scriptableItem=item,
});
}
EditorUtility.SetDirty(so);
}
}
}
#endif