using QFramework; using QFramework.Example; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using XMLTool; public class Body3DOjbItem : MonoBehaviour { Body3D.Body body; private void Awake() { TypeEventSystem.Global.Register(OnBody3DDragHandler); } private void OnBody3DDragHandler(OnBody3DDrag drag) { } public void Init(Body3D.Body body) { this.body = body; if (body.subBody == null || body.subBody.Count == 0) { if (body.toggle != null) { var objToggle = gameObject.GetOrAddComponent(); ObjectColorToggle colorToggle = null; if (body.toggle.color != null) { colorToggle = gameObject.GetOrAddComponent(); colorToggle.Init(Utility.ToColor(body.toggle.color.isOn), Utility.ToColor(body.toggle.color.isOff)); } objToggle.OnValueChanged.AddListener(isOn => { colorToggle?.SetColor(isOn); var drag = gameObject.GetOrAddComponent(); drag.isOn = isOn; if (isOn) { UI3DBodyInfoData data = new UI3DBodyInfoData(); data.body = body; UIKit.OpenPanelAsync(UILevel.PopUI, data).ToAction().Start(this); } TypeEventSystem.Global.Send(new OnBody3DSelected() { isOn = isOn, obj = gameObject }); }); } } } }