using UnityEngine; using UnityEngine.UI; using QFramework; using System; using System.Collections.Generic; using static OperationController; using System.Linq; using System.Xml.Linq; namespace QFramework.Example { public class UIBtnAnimData : UIPanelData { public String title; public String targetObj; public String size; public String pos; public String animName; } public partial class UIBtnAnim : UIPanel { protected override void OnInit(IUIData uiData = null) { mData = uiData as UIBtnAnimData ?? new UIBtnAnimData(); // please add init code here TypeEventSystem.Global.Register((arg) => Hide()).UnRegisterWhenGameObjectDestroyed(gameObject); } private void OnStepChanged(StepStatusOnChange change) { Hide(); } protected override void OnOpen(IUIData uiData = null) { TypeEventSystem.Global.Register(OnStepChanged).UnRegisterWhenDisabled(gameObject); mData = uiData as UIBtnAnimData ?? new UIBtnAnimData(); List title = mData.title.Split('|')?.ToList(); List targetObj = mData.targetObj.Split('|')?.ToList(); List size = mData.size.Split('|')?.ToList(); List pos = mData.pos.Split('|')?.ToList(); for (int i = 0; i < title.Count; i++) { int j = i; GameObject ButtonItemObj = GameObject.Instantiate(Button.gameObject, Connet); ButtonItemObj.name = title[i]; Vector2 positem = Utility.GetVector2FromStrArray(pos[j]); Vector2 sizeData = Utility.GetVector2FromStrArray(size[j]); ButtonItemObj.GetComponent().sizeDelta = sizeData; ButtonItemObj.GetComponent().localPosition = positem; GameObject obj = Utility.FindObj(targetObj[j]); obj.GetComponent(); ButtonItemObj.transform.Find("TitleText").GetComponent().text = title[j]; ButtonItemObj.transform.GetComponent