using System; using System.Collections.Generic; using DefaultNamespace; using MotionFramework; using UnityEngine; using UnityEngine.Serialization; namespace ToolsPack { /// /// 工具窗口管理器 /// public class ToolsPackWindowManager : MonoBehaviour { private Dictionary> _toolsNames; [SerializeField] private Transform content; public void OnEnable() { int count = content.childCount; for (int i = 0; i < count; i++) { Destroy(content.GetChild(i).gameObject); } MotionEngine.GetModule().ClearToolsPackWindowItemBts(); //初始化工具集 _toolsNames = MotionEngine.GetModule().GetToolsPack(); GameObject bt = MotionEngine.GetModule().GetToolsPackWindowBt(); foreach (var v in _toolsNames) { List li = MotionEngine.GetModule().GetToolsPackData(v.Key); if (li == null) { ToolsPackWindowItemBtComponent btComponent = Instantiate(bt, content, false).GetComponent(); btComponent.name = v.Key; btComponent.Init(v.Key, v.Key, 0); MotionEngine.GetModule().AddToolsPackWindowItemBts(btComponent.gameObject); } else { int index = 0; foreach (var lis in v.Value) { foreach (var to in li) { ToolsPackWindowItemBtComponent btComponent = Instantiate(bt, content, false).GetComponent(); btComponent.name = to; btComponent.Init(to,v.Key,index); MotionEngine.GetModule().AddToolsPackWindowItemBts(btComponent.gameObject); } index++; } } } } } }