using Newtonsoft.Json; using System; using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.UI; using TMPro; using Cysharp.Threading.Tasks; using AZTECHWB.Constants; using AZTECHWB.Management; using AZTECHWB.Command; using AZTECHWB.Core; using AZTECHWB.Extensions; using UnityEngine.EventSystems; namespace AZTECHWB.UI { public class LibraryPanel : UIPanel { private RectTransform rectTransform; private Button Button_Active; private RectTransform Hide; private RectTransform Mark; private Image Image_SearchIcon; private TMP_InputField InputField_MachineSearch; private Button Button_Reset; public Button Button_Left; public Button Button_Right; private ScrollRect ScrollView_MachineList; float moveAmount = 200f; private Vector2 originPos; public Vector2 downPos; public float fadeTime; private bool isActive; private string dataOrder; private string currentSearchKeyword = ""; private HashSet allMachines = new(); private HashSet filteredMachines = new(); private LibraryButton libraryButton; private Dictionary addLibraryButtons = new(); private LibraryButton currentLibraryButton; private FilterButton[] filterButtons; private FilterButton currentLabelButton; public override async UniTask Init() { rectTransform = GetComponent(); Button_Active = transform.GetComponentInChildren