375 lines
14 KiB
C#
375 lines
14 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
|
||
{
|
||
/// <summary>
|
||
/// 5个小模块,
|
||
/// 三个按钮不同的控制逻辑
|
||
/// </summary>
|
||
public enum XHBY_Type
|
||
{
|
||
//PLC控制气缸
|
||
PLC_KZQG,
|
||
|
||
//PLC控制直流电机
|
||
PLC_KZZLD,
|
||
|
||
//光电传感器
|
||
GDCGQ,
|
||
|
||
//机械手往返控制
|
||
JXSWF,
|
||
|
||
//搬运小球定位控制
|
||
BYXQ,
|
||
|
||
//自动升降送料综合控制
|
||
ZDSJS
|
||
}
|
||
public class AppManagement : MonoSingleton<AppManagement>
|
||
{
|
||
public EnumCtrl.Type _CurType = EnumCtrl.Type.XHBY;
|
||
|
||
//循环搬运机械手 6个模块
|
||
public static XHBY_Type XhbyType;
|
||
public static Dictionary<string, System.IO.Stream> _ImgDataArray = new Dictionary<string, System.IO.Stream>();
|
||
|
||
|
||
|
||
[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 int _ConnectScore = 0;
|
||
public int _GasScore = 0;
|
||
|
||
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();
|
||
}
|
||
|
||
|
||
public void XHBY_ChangeModel(EnumCtrl.Model _CurModel)
|
||
{
|
||
|
||
|
||
switch (_CurModel)
|
||
{
|
||
case EnumCtrl.Model.None:
|
||
break;
|
||
case EnumCtrl.Model.Home:
|
||
XHBY_ChangState(EnumCtrl.Model.Home.ToString(), () =>
|
||
{
|
||
UI_Manage.Instance.ShowPanel("HomePanel");
|
||
});
|
||
break;
|
||
case EnumCtrl.Model.Select2:
|
||
UI_Manage.Instance.ShowPanel("Select2Panel");
|
||
XHBY_ChangState(EnumCtrl.Model.Home.ToString(), () =>
|
||
{
|
||
UI_Manage.Instance.ShowPanel("Select2Panel");
|
||
});
|
||
break;
|
||
case EnumCtrl.Model.Select3:
|
||
XHBY_ChangState(EnumCtrl.Model.Home.ToString(), () =>
|
||
{
|
||
UI_Manage.Instance.ShowPanel("Select3Panel");
|
||
});
|
||
break;
|
||
case EnumCtrl.Model.Cognize:
|
||
XHBY_ChangState(EnumCtrl.Model.Cognize.ToString(), () =>
|
||
{
|
||
|
||
UI_Manage.Instance.ShowPanel("CognizePanel");
|
||
});
|
||
break;
|
||
case EnumCtrl.Model.Teach:
|
||
|
||
_TrainExam = EnumCtrl.Model.Teach;
|
||
UI_Manage.Instance.HideAllPanel(GameObject.Find("TopCanvas").transform);
|
||
UI_Manage.Instance.ShowPanel("BlackMaskPanel", -1, GameObject.Find("TopCanvas").transform);
|
||
|
||
XHBY_ChangState(EnumCtrl.Model.Train.ToString() + EnumCtrl.Model.Exam.ToString(), () =>
|
||
{
|
||
|
||
UI_Manage.Instance.ClosePanel("BlackMaskPanel");
|
||
UI_Manage.Instance.ShowPanel("PracticeAndExamPanel");
|
||
UI_Manage.Instance.ShowPanel("HoverPanel");
|
||
});
|
||
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);
|
||
XHBY_ChangState(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);
|
||
XHBY_ChangState(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:
|
||
XHBY_ChangState(EnumCtrl.Model.Train.ToString() + EnumCtrl.Model.Exam.ToString(), () =>
|
||
{
|
||
|
||
UI_Manage.Instance.ShowPanel("ConnectPanel");
|
||
});
|
||
break;
|
||
case EnumCtrl.Model.Debug:
|
||
XHBY_ChangState(EnumCtrl.Model.Train.ToString() + EnumCtrl.Model.Exam.ToString(), () =>
|
||
{
|
||
|
||
UI_Manage.Instance.ShowPanel(_CurType + "DebugPanel");
|
||
|
||
});
|
||
break;
|
||
case EnumCtrl.Model.Gas:
|
||
XHBY_ChangState(EnumCtrl.Model.Train.ToString() + EnumCtrl.Model.Exam.ToString(), () =>
|
||
{
|
||
|
||
UI_Manage.Instance.ShowPanel("GasPanel");
|
||
});
|
||
break;
|
||
case EnumCtrl.Model.Running:
|
||
XHBY_ChangState(EnumCtrl.Model.Train.ToString() + EnumCtrl.Model.Exam.ToString(), () =>
|
||
{
|
||
|
||
UI_Manage.Instance.ShowPanel("RunningPanel");
|
||
});
|
||
break;
|
||
|
||
}
|
||
|
||
}
|
||
/// <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:
|
||
|
||
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.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");
|
||
});
|
||
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");
|
||
});
|
||
break;
|
||
case EnumCtrl.Model.Debug:
|
||
ChangeState(EnumCtrl.Model.Train.ToString() + EnumCtrl.Model.Exam.ToString(), () =>
|
||
{
|
||
|
||
switch (XhbyType)
|
||
{
|
||
//plc控制气缸:
|
||
case XHBY_Type.PLC_KZQG:
|
||
UI_Manage.Instance.ShowPanel("KZQGDebugPanel");
|
||
break;
|
||
// 控制直流电机
|
||
case XHBY_Type.PLC_KZZLD:
|
||
UI_Manage.Instance.ShowPanel("KZZLDJDebugPanel");
|
||
break;
|
||
// 光电传感器
|
||
case XHBY_Type.GDCGQ:
|
||
UI_Manage.Instance.ShowPanel("ZDSJSLZHKZDebugPanel");
|
||
break;
|
||
//机械手往返控制
|
||
case XHBY_Type.JXSWF:
|
||
UI_Manage.Instance.ShowPanel("ZDSJSLZHKZDebugPanel");
|
||
break;
|
||
//搬运小球定位控制
|
||
case XHBY_Type.BYXQ:
|
||
UI_Manage.Instance.ShowPanel("BYXQDebugPanel");
|
||
break;
|
||
//自动升降送料
|
||
case XHBY_Type.ZDSJS:
|
||
UI_Manage.Instance.ShowPanel("BYXQDebugPanel");
|
||
break;
|
||
|
||
}
|
||
|
||
});
|
||
break;
|
||
case EnumCtrl.Model.Gas:
|
||
ChangeState(EnumCtrl.Model.Train.ToString() + EnumCtrl.Model.Exam.ToString(), () =>
|
||
{
|
||
|
||
UI_Manage.Instance.ShowPanel("GasPanel");
|
||
});
|
||
break;
|
||
case EnumCtrl.Model.Running:
|
||
ChangeState(EnumCtrl.Model.Train.ToString() + EnumCtrl.Model.Exam.ToString(), () =>
|
||
{
|
||
|
||
UI_Manage.Instance.ShowPanel("RunningPanel");
|
||
});
|
||
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.Clear();
|
||
LoadScenes.Instance.LoadScene(changeToSceneName, loadedCall);
|
||
}
|
||
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
public void XHBY_ChangState(string changeToSceneName, System.Action loadedCall) {
|
||
|
||
|
||
|
||
UI_Manage.Instance.Clear();
|
||
LoadScenes.Instance.LoadScene(changeToSceneName, loadedCall);
|
||
|
||
}
|
||
|
||
|
||
|
||
}
|
||
} |