| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- 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<string, List<OptEquipItem>> dicOptEquipItems = new Dictionary<string, List<OptEquipItem>>();
- #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<Animation>();
- dic["按下"] = $"{animPath}|{a.clip.name}";
- }
- }
- #endif
- public string[] 操作方式
- {
- get { return dic.Keys.ToArray(); }
- }
- [LabelText("操作方式-动画路径|名称")]
- public Dictionary<string, string> dic = new Dictionary<string, string>();
- public virtual string GetCmd()
- {
- return "";
- }
- public abstract void Exe(string cmd = null);
- public List<GameObject> GetAnimGoes()
- {
- List<GameObject> animGo = new List<GameObject>();
- 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;
- }
- }
- }
|