using System; using System.Collections.Generic; using UnityEditor; using UnityEngine; using UnityEngine.UIElements; [CreateAssetMenu(fileName = "New Menu", menuName = "Own UI/New Menu", order = 1)] public class UIMenuItem : ScriptableObject { public string MenuText; public ScrollView MenuItemsList; public Button MenuName; public bool menuOpen = false; public PlacedObjectTypeSO.ObjectCategory category; public VisualTreeAsset buildableItemTemplate; public List BuildableItems { get; set; } private void OnEnable() { buildableItemTemplate = AssetDatabase.LoadAssetAtPath("Assets/Scripts/UI/ItemDatabase/BuildableObjectTemplate.uxml"); MenuItemsList = new ScrollView(); MenuItemsList.style.visibility = Visibility.Hidden; } public void SetBuildableItems(List items) { BuildableItems = items; } internal List GetBuildableItemsList() { List result = new List(); foreach (PlacedObjectTypeSO item in BuildableItems) { TemplateContainer buildableItem = buildableItemTemplate.Instantiate(); Button button = buildableItem.Q