using UnityEngine; using UnityEngine.UI; using QFramework; using XMLTool; using DG.Tweening; using TMPro; namespace QFramework.Example { public class UI3DBodyInfoData : UIPanelData { public Body3D.Body body; } public partial class UI3DBodyInfo : UIPanel { protected override void OnInit(IUIData uiData = null) { } protected override void OnOpen(IUIData uiData = null) { mData = uiData as UI3DBodyInfoData ?? new UI3DBodyInfoData(); PartName.text = mData.body.Name; Group.onValueChanged.AddListener(isOn => { TypeEventSystem.Global.Send(new OnBody3DGroupTypeChanged() { isGroup = isOn }); if (isOn) { Group.transform.Find("Label").GetComponent().text = "多选"; } else { Group.transform.Find("Label").GetComponent().text = "单选"; } }); GameObject obj = Utility.FindObj(mData.body.Path); Active.onValueChanged.AddListener(isOn => { obj.SetActive(isOn); if (isOn) { Active.transform.Find("Label").GetComponent().text = "隐藏"; } else { Active.transform.Find("Label").GetComponent().text = "显示"; } }); Transparent.onValueChanged.AddListener(isOn => { if (isOn) { Transparent.transform.Find("Label").GetComponent().text = "实体"; } else { Transparent.transform.Find("Label").GetComponent().text = "透明"; } Utility.SetSurfaceType(obj.GetComponent().material, isOn); }); Single.onClick.AddListener(() => { Body3DController.Instance.Active(obj, false, true); }); TransparentOther.onValueChanged.AddListener(isOn => { if (isOn) { TransparentOther.transform.Find("Label").GetComponent().text = "实体其他"; } else { TransparentOther.transform.Find("Label").GetComponent().text = "透明其他"; } Body3DController.Instance.Transparent(obj, isOn, true); }); } protected override void OnShow() { } protected override void OnHide() { } protected override void OnClose() { } } }