233 lines
9.9 KiB
C#
233 lines
9.9 KiB
C#
using ZXK.Framework;
|
|
using ZXK.UTility;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using UnityEngine.Networking;
|
|
using System.Linq;
|
|
using UnityEngine.SceneManagement;
|
|
/*******************************************************************************
|
|
*Create By CG
|
|
*Function
|
|
*******************************************************************************/
|
|
namespace ZXK.BYSS
|
|
{
|
|
public class AppManagement : MonoSingleton<AppManagement>
|
|
{
|
|
public EnumCtrl.LogoType curLogoType = EnumCtrl.LogoType.LNZB;
|
|
public EnumCtrl.Type _CurType = EnumCtrl.Type.XHBY;
|
|
|
|
[SerializeField]
|
|
private HintModel _hintData;
|
|
public HintModel _HintData { get => _hintData; }
|
|
[MyReadOnly]
|
|
public EnumCtrl.Model _TrainExam = EnumCtrl.Model.None;
|
|
[MyReadOnly]
|
|
public EnumCtrl.Model _CurModel = EnumCtrl.Model.None;
|
|
[MyReadOnly]
|
|
public bool _FirstEnterApp = true;//?????????????????
|
|
|
|
[MyReadOnly]//???????
|
|
public AppModel _AppModel = null;
|
|
[MyReadOnly]//?豸???????
|
|
public CognizeModel _CognizeData = null;
|
|
[MyReadOnly]//ui????
|
|
public UIModel _UiPanelData = null;
|
|
|
|
public static Dictionary<string,System.IO.Stream> _ImgDataArray = new Dictionary<string, System.IO.Stream>();
|
|
|
|
public int _ConnectScore = 0;
|
|
public int _GasScore = 0;
|
|
//[HideInInspector]
|
|
//public StepManager stepManager = null;//流程管理类预制体
|
|
//private string stepPrefabPath = "Prefab/StepManager";//StepManager管理类实例化对象加载路径
|
|
protected override void AwakeSelf()
|
|
{
|
|
base.AwakeSelf();
|
|
_AppModel = new AppModel();
|
|
StartCoroutine(_AppModel.ReadExcelDataWeb());
|
|
_CognizeData = new CognizeModel();
|
|
StartCoroutine(_CognizeData.InitDataIEnum());
|
|
}
|
|
private void Start()
|
|
{
|
|
_UiPanelData = new UIModel();
|
|
_UiPanelData.InitData();
|
|
}
|
|
|
|
/// <summary>
|
|
/// ?л???
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
public void ChangeModel(EnumCtrl.Model model)
|
|
{
|
|
_CurModel = model;
|
|
|
|
switch (_CurModel)
|
|
{
|
|
case EnumCtrl.Model.None:
|
|
break;
|
|
case EnumCtrl.Model.Home:
|
|
ChangeState(EnumCtrl.Model.Home.ToString(), () =>
|
|
{
|
|
UI_Manage.Instance.ShowPanel("HomePanel");
|
|
});
|
|
break;
|
|
case EnumCtrl.Model.Select2:
|
|
UI_Manage.Instance.ShowPanel("Select2Panel");
|
|
ChangeState(EnumCtrl.Model.Home.ToString(), () =>
|
|
{
|
|
UI_Manage.Instance.ShowPanel("Select2Panel");
|
|
});
|
|
break;
|
|
case EnumCtrl.Model.Select3:
|
|
ChangeState(EnumCtrl.Model.Home.ToString(), () =>
|
|
{
|
|
UI_Manage.Instance.ShowPanel("Select3Panel");
|
|
});
|
|
break;
|
|
case EnumCtrl.Model.Cognize:
|
|
UI_Manage.Instance.ShowPanel("BlackMaskPanel", -1, GameObject.Find("TopCanvas").transform);
|
|
ChangeState(EnumCtrl.Model.Cognize.ToString(), () =>
|
|
{
|
|
UI_Manage.Instance.ClosePanel("BlackMaskPanel");
|
|
UI_Manage.Instance.ShowPanel("CognizePanel");
|
|
});
|
|
break;
|
|
case EnumCtrl.Model.Teach:
|
|
//教学模式,修改成,带引导按钮的,没有跳步栏的练习模式
|
|
_TrainExam = EnumCtrl.Model.Teach;
|
|
UI_Manage.Instance.Clear(GameObject.Find("Canvas").transform);
|
|
UI_Manage.Instance.HideAllPanel(GameObject.Find("TopCanvas").transform);
|
|
UI_Manage.Instance.ShowPanel("BlackMaskPanel", -1, GameObject.Find("TopCanvas").transform);
|
|
ChangeState(EnumCtrl.Model.Train.ToString() + EnumCtrl.Model.Exam.ToString(), () =>
|
|
{
|
|
//教学模式,始终显示教学引导
|
|
UI_Manage.Instance.ClosePanel("BlackMaskPanel");
|
|
UI_Manage.Instance.ShowPanel("PracticeAndExamPanel");
|
|
UI_Manage.Instance.ShowPanel("HoverPanel");
|
|
UI_Manage.Instance.ShowPanel("JiaoXueYinDaoBtn");
|
|
});
|
|
|
|
|
|
|
|
break;
|
|
case EnumCtrl.Model.Train:
|
|
_TrainExam = EnumCtrl.Model.Train;
|
|
UI_Manage.Instance.Clear(GameObject.Find("Canvas").transform);
|
|
UI_Manage.Instance.HideAllPanel(GameObject.Find("TopCanvas").transform);
|
|
UI_Manage.Instance.ShowPanel("BlackMaskPanel", -1, GameObject.Find("TopCanvas").transform);
|
|
|
|
ChangeState(EnumCtrl.Model.Train.ToString() + EnumCtrl.Model.Exam.ToString(), () =>
|
|
{
|
|
UI_Manage.Instance.ClosePanel("BlackMaskPanel");
|
|
UI_Manage.Instance.ShowPanel("HoverPanel");
|
|
UI_Manage.Instance.ShowPanel("PracticeAndExamPanel");
|
|
});
|
|
break;
|
|
case EnumCtrl.Model.Exam:
|
|
_TrainExam = EnumCtrl.Model.Exam;
|
|
UI_Manage.Instance.Clear(GameObject.Find("Canvas").transform);
|
|
UI_Manage.Instance.HideAllPanel(GameObject.Find("TopCanvas").transform);
|
|
UI_Manage.Instance.ShowPanel("BlackMaskPanel", -1, GameObject.Find("TopCanvas").transform);
|
|
|
|
ChangeState(EnumCtrl.Model.Train.ToString() + EnumCtrl.Model.Exam.ToString(), () =>
|
|
{
|
|
UI_Manage.Instance.ClosePanel("BlackMaskPanel");
|
|
UI_Manage.Instance.ShowPanel("HoverPanel");
|
|
UI_Manage.Instance.ShowPanel("PracticeAndExamPanel");
|
|
});
|
|
break;
|
|
case EnumCtrl.Model.Line:
|
|
ChangeState(EnumCtrl.Model.Train.ToString() + EnumCtrl.Model.Exam.ToString(), () =>
|
|
{
|
|
UI_Manage.Instance.ShowPanel("ConnectPanel");
|
|
//教学模式,始终显示教学引导
|
|
if (AppManagement.Instance._TrainExam == EnumCtrl.Model.Teach)
|
|
{
|
|
|
|
UI_Manage.Instance.ShowPanel("JiaoXueYinDaoBtn");
|
|
|
|
}
|
|
});
|
|
break;
|
|
case EnumCtrl.Model.Debug:
|
|
|
|
// UI_Manage.Instance.GetPanel("PracticeAndExamPanel")
|
|
//.GetComponent<PracticeAndExamPanel>()._CurTrainExamSceneCtrl.speakManager.ChangeModelAudio("程序调试");
|
|
// UI_Manage.Instance.GetPanel("PracticeAndExamPanel")
|
|
// .GetComponent<PracticeAndExamPanel>()._CurTrainExamSceneCtrl.speakManager.ReSetAudioCilp();
|
|
ChangeState(EnumCtrl.Model.Train.ToString() + EnumCtrl.Model.Exam.ToString(), () =>
|
|
{
|
|
|
|
UI_Manage.Instance.ShowPanel(_CurType + "DebugPanel");
|
|
|
|
|
|
|
|
});
|
|
break;
|
|
case EnumCtrl.Model.Gas:
|
|
ChangeState(EnumCtrl.Model.Train.ToString() + EnumCtrl.Model.Exam.ToString(), () =>
|
|
{
|
|
// OnDestroyPrefab();
|
|
UI_Manage.Instance.ShowPanel("GasPanel");
|
|
//教学模式,始终显示教学引导
|
|
if (AppManagement.Instance._TrainExam == EnumCtrl.Model.Teach)
|
|
{
|
|
|
|
UI_Manage.Instance.ShowPanel("JiaoXueYinDaoBtn");
|
|
}
|
|
});
|
|
break;
|
|
case EnumCtrl.Model.Running:
|
|
ChangeState(EnumCtrl.Model.Train.ToString() + EnumCtrl.Model.Exam.ToString(), () =>
|
|
{
|
|
UI_Manage.Instance.ShowPanel("RunningPanel");
|
|
//教学模式,始终显示教学引导
|
|
if (AppManagement.Instance._TrainExam == EnumCtrl.Model.Teach)
|
|
{
|
|
|
|
UI_Manage.Instance.ShowPanel("JiaoXueYinDaoBtn");
|
|
}
|
|
});
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
private void ChangeState(string changeToSceneName, System.Action loadedCall)
|
|
{
|
|
string curSceneName = SceneManager.GetActiveScene().name;
|
|
if (curSceneName.Equals(changeToSceneName))
|
|
{
|
|
UI_Manage.Instance.HideAllPanel();
|
|
loadedCall?.Invoke();
|
|
}
|
|
else
|
|
{
|
|
//UI_Manage.Instance.HideAllPanel();
|
|
UI_Manage.Instance.Clear();
|
|
//LoadScenesAsyncNoPanel.Instance.LoadSceneAsync(changeToSceneName, loadedCall);
|
|
//UtilitiesMng.LoadSceneAsync(changeToSceneName, loadedCall);
|
|
LoadScenes.Instance.LoadScene(changeToSceneName, loadedCall);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 加载流程类预制体
|
|
/// </summary>
|
|
//public void OnSpawnPrefab()
|
|
//{
|
|
// GameObject stepItem= Instantiate(Resources.Load(stepPrefabPath),transform,false) as GameObject;
|
|
// stepManager=stepItem.GetComponent<StepManager>();
|
|
//}
|
|
/// <summary>
|
|
/// 销毁流程类预制体
|
|
/// </summary>
|
|
//public void OnDestroyPrefab()
|
|
//{
|
|
// DestroyImmediate(stepManager);
|
|
//}
|
|
}
|
|
} |