2024-12-14 18:27:59 +08:00
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
using UnityEngine.UI;
|
|
|
|
|
|
using QFramework;
|
|
|
|
|
|
using TMPro;
|
|
|
|
|
|
using UnityEngine.SceneManagement;
|
|
|
|
|
|
using System;
|
|
|
|
|
|
|
|
|
|
|
|
namespace QFramework.Example
|
|
|
|
|
|
{
|
|
|
|
|
|
public class UIModuleSelectData : UIPanelData
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
public partial class UIModuleSelect : UIPanel
|
|
|
|
|
|
{
|
2025-03-19 11:33:30 +08:00
|
|
|
|
AsyncOperation ao;
|
2024-12-14 18:27:59 +08:00
|
|
|
|
protected override void OnInit(IUIData uiData = null)
|
|
|
|
|
|
{
|
|
|
|
|
|
mData = uiData as UIModuleSelectData ?? new UIModuleSelectData();
|
|
|
|
|
|
backBtn.onClick.AddListener(() =>
|
|
|
|
|
|
{
|
|
|
|
|
|
Hide();
|
|
|
|
|
|
UIKit.OpenPanelAsync<UIModeSelect>().ToAction().StartGlobal();
|
|
|
|
|
|
});
|
|
|
|
|
|
setBtn.onClick.AddListener(() =>
|
|
|
|
|
|
{
|
|
|
|
|
|
UIKit.OpenPanelAsync<UISetting>(canvasLevel: UILevel.PopUI).ToAction().Start(this);
|
|
|
|
|
|
});
|
|
|
|
|
|
closeBtn.onClick.AddListener(() =>
|
|
|
|
|
|
{
|
|
|
|
|
|
Application.Quit();
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnOpen(IUIData uiData = null)
|
|
|
|
|
|
{
|
|
|
|
|
|
Content.RemoveAllChildren();
|
2025-01-10 13:42:01 +08:00
|
|
|
|
int moduleCount = 0;
|
|
|
|
|
|
int lastIndex = 0;
|
2024-12-14 18:27:59 +08:00
|
|
|
|
for (int i = 0; i < Global.Instance.appData.Modules.Count; i++)
|
|
|
|
|
|
{
|
|
|
|
|
|
var item = Global.Instance.appData.Modules[i];
|
|
|
|
|
|
Global.AppType curType = Global.AppType.All;
|
|
|
|
|
|
Enum.TryParse(item.type, out curType);
|
|
|
|
|
|
|
|
|
|
|
|
if (curType == Global.appTpe || curType == Global.AppType.All)
|
|
|
|
|
|
{
|
2025-01-10 13:42:01 +08:00
|
|
|
|
moduleCount++;
|
2024-12-14 18:27:59 +08:00
|
|
|
|
int index = i;
|
|
|
|
|
|
GameObject obj = GameObject.Instantiate(BtnItem.gameObject, Content);
|
|
|
|
|
|
obj.transform.Find("Label").GetComponent<TextMeshProUGUI>().text = item.ModuleName;
|
|
|
|
|
|
obj.GetComponent<Button>().onClick.AddListener(() =>
|
|
|
|
|
|
{
|
|
|
|
|
|
Global.Instance.curModule = Global.Instance.appData.Modules[index];
|
|
|
|
|
|
UIKit.OpenPanelAsync<UILoading>(canvasLevel: UILevel.PopUI).ToAction().StartGlobal(() =>
|
|
|
|
|
|
{
|
2025-03-19 11:33:30 +08:00
|
|
|
|
ao = SceneManager.LoadSceneAsync(Global.Instance.curModule.Scene, LoadSceneMode.Single);
|
|
|
|
|
|
UIKit.GetPanel<UILoading>().SetAsyncOperation(ao);
|
2024-12-14 18:27:59 +08:00
|
|
|
|
SceneManager.sceneLoaded += OnLoadFinished;
|
|
|
|
|
|
});
|
|
|
|
|
|
});
|
2025-01-10 13:42:01 +08:00
|
|
|
|
lastIndex = index;
|
2024-12-14 18:27:59 +08:00
|
|
|
|
}
|
2025-01-10 13:42:01 +08:00
|
|
|
|
}
|
2024-12-14 18:27:59 +08:00
|
|
|
|
|
2025-03-19 11:05:35 +08:00
|
|
|
|
GameObject more = GameObject.Instantiate(MoreItem.gameObject, Content);
|
2024-12-14 18:27:59 +08:00
|
|
|
|
|
2025-03-19 11:05:35 +08:00
|
|
|
|
//if (moduleCount == 1)
|
|
|
|
|
|
//{
|
|
|
|
|
|
// Global.Instance.curModule = Global.Instance.appData.Modules[lastIndex];
|
|
|
|
|
|
// UIKit.OpenPanelAsync<UILoading>(canvasLevel: UILevel.PopUI).ToAction().StartGlobal(() =>
|
|
|
|
|
|
// {
|
|
|
|
|
|
// SceneManager.LoadSceneAsync(Global.Instance.curModule.Scene, LoadSceneMode.Single);
|
|
|
|
|
|
// SceneManager.sceneLoaded += OnLoadFinished;
|
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
2024-12-14 18:27:59 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-03-19 11:33:30 +08:00
|
|
|
|
|
2024-12-14 18:27:59 +08:00
|
|
|
|
private void OnLoadFinished(Scene arg0, LoadSceneMode arg1)
|
|
|
|
|
|
{
|
|
|
|
|
|
SceneManager.sceneLoaded -= OnLoadFinished;
|
2025-02-26 17:17:58 +08:00
|
|
|
|
|
2025-02-13 17:21:18 +08:00
|
|
|
|
if (Global.Instance.curModule.Devices != null && Global.Instance.curModule.Devices.Count > 0)
|
|
|
|
|
|
{
|
|
|
|
|
|
var dev = DeviceController.Instance;
|
|
|
|
|
|
}
|
|
|
|
|
|
if (Global.Instance.curModule.body3d != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
var body3d = Body3DController.Instance;
|
|
|
|
|
|
}
|
|
|
|
|
|
if (Global.Instance.curModule.score != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
ScoreController.Instance.Init();
|
|
|
|
|
|
}
|
2025-02-26 17:17:58 +08:00
|
|
|
|
if (Global.Instance.curModule.Operations != null && Global.Instance.curModule.Operations.Count > 0)
|
|
|
|
|
|
{
|
|
|
|
|
|
var op = OperationController.Instance;
|
|
|
|
|
|
}
|
|
|
|
|
|
if (Global.Instance.curModule.FSM.Count > 0)
|
|
|
|
|
|
{
|
|
|
|
|
|
var machin = StateMachineController.Instance;
|
|
|
|
|
|
}
|
2025-03-18 10:34:06 +08:00
|
|
|
|
// 3D<33><44><EFBFBD>ʲ<EFBFBD><CAB2><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>UI
|
|
|
|
|
|
//UIKit.OpenPanelAsync<UIRightTop>().ToAction().StartGlobal(() =>
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
|
|
|
|
// TypeEventSystem.Global.Send<OnModuleStart>();
|
|
|
|
|
|
// TypeEventSystem.Global.Send<OnLoadingHide>();
|
|
|
|
|
|
// Hide();
|
|
|
|
|
|
//});
|
2025-03-19 11:05:35 +08:00
|
|
|
|
|
|
|
|
|
|
foreach (var item in Global.Instance.curModule.body3d.parts)
|
|
|
|
|
|
{
|
|
|
|
|
|
Global.Instance.cur3DPart = Global.Instance.curModule.body3d.parts[item.Key];
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
TypeEventSystem.Global.Send<OnBody3DStart>();
|
|
|
|
|
|
UIBody3DData data = new UIBody3DData();
|
|
|
|
|
|
data.body = Global.Instance.cur3DPart;
|
|
|
|
|
|
UIKit.OpenPanelAsync<UIBody3D>(canvasLevel: UILevel.PopUI, uiData: data).ToAction().StartGlobal(() =>
|
|
|
|
|
|
{
|
|
|
|
|
|
Hide();
|
|
|
|
|
|
});
|
|
|
|
|
|
|
2025-03-18 10:34:06 +08:00
|
|
|
|
TypeEventSystem.Global.Send<OnModuleStart>();
|
|
|
|
|
|
TypeEventSystem.Global.Send<OnLoadingHide>();
|
|
|
|
|
|
Hide();
|
2024-12-14 18:27:59 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnShow()
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnHide()
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnClose()
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|