2025-02-12 17:36:00 +08:00
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
using UnityEngine.UI;
|
|
|
|
|
|
using QFramework;
|
|
|
|
|
|
using XMLTool;
|
|
|
|
|
|
using DG.Tweening;
|
|
|
|
|
|
using TMPro;
|
2025-02-17 15:14:40 +08:00
|
|
|
|
using System;
|
2025-02-12 17:36:00 +08:00
|
|
|
|
|
|
|
|
|
|
namespace QFramework.Example
|
|
|
|
|
|
{
|
2025-02-13 17:21:18 +08:00
|
|
|
|
public class UIBody3DInfoData : UIPanelData
|
2025-02-12 17:36:00 +08:00
|
|
|
|
{
|
|
|
|
|
|
public Body3D.Body body;
|
|
|
|
|
|
}
|
2025-02-13 17:21:18 +08:00
|
|
|
|
public partial class UIBody3DInfo : UIPanel
|
2025-02-12 17:36:00 +08:00
|
|
|
|
{
|
2025-02-13 11:02:16 +08:00
|
|
|
|
GameObject obj;
|
2025-02-17 15:14:40 +08:00
|
|
|
|
float bgH;
|
2025-02-12 17:36:00 +08:00
|
|
|
|
protected override void OnInit(IUIData uiData = null)
|
|
|
|
|
|
{
|
2025-03-11 10:33:07 +08:00
|
|
|
|
TypeEventSystem.Global.Register<OnModuleQuit>(OnModuleQuithandler).UnRegisterWhenGameObjectDestroyed(this);
|
2025-02-17 15:14:40 +08:00
|
|
|
|
bgH = Content.sizeDelta.y;
|
2025-02-12 17:36:00 +08:00
|
|
|
|
Group.onValueChanged.AddListener(isOn =>
|
|
|
|
|
|
{
|
|
|
|
|
|
TypeEventSystem.Global.Send<OnBody3DGroupTypeChanged>(new OnBody3DGroupTypeChanged() { isGroup = isOn });
|
|
|
|
|
|
if (isOn)
|
|
|
|
|
|
{
|
|
|
|
|
|
Group.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = "<22><>ѡ";
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
Group.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = "<22><>ѡ";
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
Active.onValueChanged.AddListener(isOn =>
|
|
|
|
|
|
{
|
|
|
|
|
|
obj.SetActive(isOn);
|
|
|
|
|
|
if (isOn)
|
|
|
|
|
|
{
|
|
|
|
|
|
Active.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = "<22><><EFBFBD><EFBFBD>";
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
Active.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = "<22><>ʾ";
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
Transparent.onValueChanged.AddListener(isOn =>
|
|
|
|
|
|
{
|
|
|
|
|
|
if (isOn)
|
|
|
|
|
|
{
|
|
|
|
|
|
Transparent.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = "ʵ<><CAB5>";
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
Transparent.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = "<><CDB8>";
|
|
|
|
|
|
}
|
|
|
|
|
|
Utility.SetSurfaceType(obj.GetComponent<MeshRenderer>().material, isOn);
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
Single.onClick.AddListener(() =>
|
|
|
|
|
|
{
|
2025-02-13 11:02:16 +08:00
|
|
|
|
Body3DController.Instance.Active(false);
|
2025-02-21 11:49:10 +08:00
|
|
|
|
BackBtn.gameObject.SetActive(true);
|
2025-02-13 11:02:16 +08:00
|
|
|
|
Active.gameObject.SetActive(false);
|
|
|
|
|
|
Single.gameObject.SetActive(false);
|
|
|
|
|
|
Transparent.gameObject.SetActive(false);
|
|
|
|
|
|
TransparentOther.gameObject.SetActive(false);
|
2025-02-12 17:36:00 +08:00
|
|
|
|
});
|
|
|
|
|
|
TransparentOther.onValueChanged.AddListener(isOn =>
|
|
|
|
|
|
{
|
|
|
|
|
|
if (isOn)
|
|
|
|
|
|
{
|
|
|
|
|
|
TransparentOther.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = "ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
TransparentOther.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = "<><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|
|
|
|
|
}
|
|
|
|
|
|
Body3DController.Instance.Transparent(obj, isOn, true);
|
|
|
|
|
|
});
|
2025-02-13 11:02:16 +08:00
|
|
|
|
|
2025-02-21 11:49:10 +08:00
|
|
|
|
BackBtn.onClick.AddListener(() =>
|
2025-02-13 11:02:16 +08:00
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
Body3DController.Instance.Active(true);
|
2025-02-21 11:49:10 +08:00
|
|
|
|
BackBtn.gameObject.SetActive(false);
|
2025-02-13 11:02:16 +08:00
|
|
|
|
Active.gameObject.SetActive(true);
|
|
|
|
|
|
Single.gameObject.SetActive(true);
|
|
|
|
|
|
Transparent.gameObject.SetActive(true);
|
|
|
|
|
|
TransparentOther.gameObject.SetActive(true);
|
|
|
|
|
|
});
|
2025-02-17 15:14:40 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ShowTip.onValueChanged.AddListener(isOn =>
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
if (isOn)
|
|
|
|
|
|
{
|
|
|
|
|
|
DOTween.To(() => Content.sizeDelta.y, (v) =>
|
|
|
|
|
|
{
|
|
|
|
|
|
Content.sizeDelta = new Vector2(Content.sizeDelta.x, v);
|
|
|
|
|
|
}, bgH + Center.sizeDelta.y, 0.2f);
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
DOTween.To(() => Content.sizeDelta.y, (v) =>
|
|
|
|
|
|
{
|
|
|
|
|
|
Content.sizeDelta = new Vector2(Content.sizeDelta.x, v);
|
|
|
|
|
|
}, bgH, 0.2f);
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
AudioBtn.onValueChanged.AddListener(isOn =>
|
|
|
|
|
|
{
|
|
|
|
|
|
AudioSpeed.gameObject.SetActive(isOn);
|
|
|
|
|
|
});
|
|
|
|
|
|
AudioSpeed.onValueChanged.AddListener((isOn) =>
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
2025-02-13 11:02:16 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-03-11 10:33:07 +08:00
|
|
|
|
private void OnModuleQuithandler(OnModuleQuit quit)
|
|
|
|
|
|
{
|
|
|
|
|
|
Hide();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-02-17 15:14:40 +08:00
|
|
|
|
public void RefreshTipPath()
|
|
|
|
|
|
{
|
|
|
|
|
|
ListContent.RemoveAllChildren();
|
|
|
|
|
|
ListItemFacotry(mData.body);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void Refresh()
|
2025-02-13 11:02:16 +08:00
|
|
|
|
{
|
|
|
|
|
|
PartName.text = mData.body.Name;
|
|
|
|
|
|
obj = Utility.FindObj(mData.body.Path);
|
2025-02-17 15:14:40 +08:00
|
|
|
|
Des.text = mData.body.Tip;
|
|
|
|
|
|
RefreshTipPath();
|
|
|
|
|
|
}
|
2025-02-13 11:02:16 +08:00
|
|
|
|
|
2025-02-17 15:14:40 +08:00
|
|
|
|
public void ListItemFacotry(Body3D.Body body)
|
|
|
|
|
|
{
|
|
|
|
|
|
GameObject obj = GameObject.Instantiate(ListItem.gameObject, ListContent);
|
2025-02-18 13:30:35 +08:00
|
|
|
|
obj.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = body.Name + ">";
|
2025-02-17 15:14:40 +08:00
|
|
|
|
obj.transform.SetAsFirstSibling();
|
|
|
|
|
|
if (body.parent != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
ListItemFacotry(body.parent);
|
|
|
|
|
|
}
|
2025-02-12 17:36:00 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-02-17 15:14:40 +08:00
|
|
|
|
protected override void OnOpen(IUIData uiData = null)
|
|
|
|
|
|
{
|
|
|
|
|
|
mData = uiData as UIBody3DInfoData ?? new UIBody3DInfoData();
|
|
|
|
|
|
|
|
|
|
|
|
Refresh();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-02-12 17:36:00 +08:00
|
|
|
|
protected override void OnShow()
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnHide()
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnClose()
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|