CultivationOfBrewing-2/Assets/Scripts/Project/UI/UI_Panel/UI_SelectModePanel.cs

86 lines
3.0 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor.Presets;
using UnityEngine;
public class UI_SelectModePanel : BasePanel
{
//跳过设备选择界面
public bool skipDevicePanel = false;
/// <summary>
/// 初始化
/// </summary>
public void Init()
{
PresetSelectorForSorghum();
}
public override void ShowMe()
{
base.ShowMe();
GameManager.RunModelMgr.ModeType = E_ModeType.None;
GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchMode);
}
public void PresetSelectorForSorghum( )
{
OnClick("StudyModelBtn");
}
/// <summary>
/// 按钮点击
/// </summary>
/// <param name="btnName"></param>
protected override void OnClick(string btnName)
{
var modeType = E_ModeType.None;
switch (btnName)
{
case "StudyModelBtn":
modeType = E_ModeType.Study;
GameManager.NetMgr.operationType = "1";
break;
case "TrainModelBtn":
modeType = E_ModeType.Practice;
GameManager.NetMgr.operationType = "2";
break;
}
GameManager.RunModelMgr.ModeType = modeType;
if (skipDevicePanel)//跳过设备选择界面
{
GameManager.UIMgr.ShowPanel<UI_LoadingPanel>(E_UI_Layer.System, (panel) =>
{
GameManager.RunModelMgr.schemeID = GameManager.DataMgr.d_System.subjects[0].id;//读取schemeID
GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchMode);
GameManager.ProcessMgr.Init(GameManager.RunModelMgr.schemeID);
panel.Init();
GameManager.UIMgr.HidePanel<UI_SelectModePanel>();//TODO 框架中设计一个SelfClose()感觉更好
GameManager.EventMgr.EventTrigger<float>(Enum_EventType.UpdateProgress, 0.1f);
GameManager.ScenesMgr.LoadSceneAsyn($"{GameManager.Instance.systemId}_{GameManager.RunModelMgr.schemeID}_{GameManager.Instance.startSceneName}", () =>
{
GameManager.UIMgr.HidePanel<UI_SelectDevicePanel>();
GameManager.UIMgr.HidePanel<UI_BGPanel>();
GameManager.EventMgr.EventTrigger<float>(Enum_EventType.UpdateProgress, 0.9f);
if (GameManager.RunModelMgr.ModeType != E_ModeType.Study)
{
GameManager.RunModelMgr.startTime = DateTime.Now;
Debug.Log("开始记时:" + GameManager.RunModelMgr.startTime.ToString());
}
});
});
}
else
{
GameManager.UIMgr.ShowPanel<UI_SelectDevicePanel>(E_UI_Layer.Mid, (panel) =>
{
GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchMode);
panel.Init();
GameManager.UIMgr.HidePanel<UI_SelectModePanel>();//TODO 框架中设计一个SelfClose()感觉更好
});
}
}
}