using Sirenix.OdinInspector; using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; namespace DTYJ { public abstract class OptEquipItem : SerializedMonoBehaviour { public string equipName; public string id; public string needTool; public static Dictionary> dicOptEquipItems = new Dictionary>(); #if UNITY_EDITOR [ContextMenu("自动设置动画")] public void SetAnim() { string animPath = $"SceneCommon/Animation/{gameObject.name}"; var anim = GameObject.Find(animPath); if (anim != null) { var a = anim.GetComponent(); dic["按下"] = $"{animPath}|{a.clip.name}"; } } #endif public string[] 操作方式 { get { return dic.Keys.ToArray(); } } [LabelText("操作方式-动画路径|名称")] public Dictionary dic = new Dictionary(); public virtual string GetCmd() { return ""; } public abstract void Exe(string cmd = null); public List GetAnimGoes() { List animGo = new List(); foreach (var item in dic) { if (string.IsNullOrEmpty(item.Value)) continue; var arr = item.Value.Split('|'); if (arr.Length > 0) { var go = GameObject.Find(arr[0]); animGo.Add(go); } } return animGo; } } }