598 lines
27 KiB
C#
598 lines
27 KiB
C#
|
|
using System.Collections;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using UnityEngine;
|
|||
|
|
using UnityEngine.EventSystems;
|
|||
|
|
using UnityEngine.UI;
|
|||
|
|
using ZXK.Framework;
|
|||
|
|
using ZXK.UTility;
|
|||
|
|
using DG.Tweening;
|
|||
|
|
/*******************************************************************************
|
|||
|
|
*Create By CG
|
|||
|
|
*Function <EFBFBD><EFBFBD>ϰ<EFBFBD>Ϳ<EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*******************************************************************************/
|
|||
|
|
namespace ZXK.BYSS
|
|||
|
|
{
|
|||
|
|
public class PracticeAndExamPanel : UIBase
|
|||
|
|
{
|
|||
|
|
[MyReadOnly]
|
|||
|
|
public PracticeAndExamInSceneCtrl _CurTrainExamSceneCtrl;
|
|||
|
|
|
|||
|
|
private Vector3 _cameraPos1 = new Vector3(7.515f, 1.706f, -1.084f);
|
|||
|
|
private Vector3 _cameraRot1 = new Vector3(19.4f, -90f, 0);
|
|||
|
|
|
|||
|
|
private Vector3 _cameraPos2 = new Vector3(7.515f, 1.706f, 10.92f);
|
|||
|
|
private Vector3 _cameraRot2 = new Vector3(19.4f, -90f, 0);
|
|||
|
|
|
|||
|
|
private Vector3 _cameraPos3 = new Vector3(6.2803f, 1.3419f, -13.3151f);
|
|||
|
|
private Vector3 _cameraRot3 = new Vector3(19.317f, -90f, 0);
|
|||
|
|
|
|||
|
|
private Vector3 _cameraPos4 = new Vector3(1.31f, 1.9f, 7.23f);
|
|||
|
|
private Vector3 _cameraRot4 = new Vector3(19.317f, -90f, 0);
|
|||
|
|
|
|||
|
|
private Vector3 _cameraPos5 = new Vector3(0.6677701f, 1.977f, -8.322083f);
|
|||
|
|
private Vector3 _cameraRot5 = new Vector3(30.667f, -90.703f, 0);
|
|||
|
|
|
|||
|
|
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
private DataItemModel _CurProcess = null;
|
|||
|
|
//ѡ<><D1A1><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŵ˴<C5B4>
|
|||
|
|
private Transform _toolSeleTempParentTran = null;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť
|
|||
|
|
//private Button _debugBtn = null;
|
|||
|
|
//<2F>ս<EFBFBD><D5BD>볡<EFBFBD><EBB3A1><EFBFBD>и<EFBFBD><D0B8><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɰ治<C9B0><E6B2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|||
|
|
private GameObject _maskPanel = null;
|
|||
|
|
|
|||
|
|
private int _packageNumber = 0;
|
|||
|
|
|
|||
|
|
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫѡ<D2AA><D1A1><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><DFBC><EFBFBD>
|
|||
|
|
private List<string> _curNeedTools = new List<string>();
|
|||
|
|
//ѡ<><D1A1><EFBFBD>Ĺ<EFBFBD><C4B9>߲<EFBFBD><DFB2><EFBFBD>null<6C><6C><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD>Ѿ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ûѡ
|
|||
|
|
private string _selectToolName = null;
|
|||
|
|
private GameObject _curSelectToolGeo = null;
|
|||
|
|
private int _selectToolNumber = 0;//<2F><>ǰѡ<C7B0><EFBFBD><F1B9A4BE><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//<2F><><EFBFBD>굱ǰ<EAB5B1><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>壬<EFBFBD><E5A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뿪<EFBFBD><EBBFAA><EFBFBD>崥<EFBFBD><E5B4A5><EFBFBD>¼<EFBFBD>
|
|||
|
|
private ItemModelCtrl _curMouseHoverCtrl = null;
|
|||
|
|
|
|||
|
|
|
|||
|
|
private Ray _cameraRay;
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
protected override void Awake()
|
|||
|
|
{
|
|||
|
|
base.Awake();
|
|||
|
|
EventCenterManager.Instance.AddEventListener(EventEnum.PickTool, PickToolCall);
|
|||
|
|
EventCenterManager.Instance.AddEventListener(EventEnum.ChangeProcess, ChangeProcessCall);
|
|||
|
|
}
|
|||
|
|
private void Start()
|
|||
|
|
{
|
|||
|
|
_toolSeleTempParentTran = GetWedage("DragTools_N").transform;
|
|||
|
|
_maskPanel = GetWedage("EnterMask_N");
|
|||
|
|
|
|||
|
|
_CurProcess = null;
|
|||
|
|
EventCenterManager.Instance.Dispatch(EventEnum.ChangeProcess, this, null);
|
|||
|
|
GetTools();//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
GetCurNeedTools();
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
switch (AppManagement.Instance._CurType)
|
|||
|
|
{
|
|||
|
|
case EnumCtrl.Type.None:
|
|||
|
|
break;
|
|||
|
|
case EnumCtrl.Type.XHBY:
|
|||
|
|
Camera.main.transform.DOMove(_cameraPos1, 0f);
|
|||
|
|
Camera.main.transform.DORotate(_cameraRot1, 0f);
|
|||
|
|
break;
|
|||
|
|
case EnumCtrl.Type.QDCY:
|
|||
|
|
Camera.main.transform.DOMove(_cameraPos2, 0f);
|
|||
|
|
Camera.main.transform.DORotate(_cameraRot2, 0f);
|
|||
|
|
break;
|
|||
|
|
case EnumCtrl.Type.CLFJ:
|
|||
|
|
Camera.main.transform.DOMove(_cameraPos3, 0f);
|
|||
|
|
Camera.main.transform.DORotate(_cameraRot3, 0f);
|
|||
|
|
break;
|
|||
|
|
case EnumCtrl.Type.ZNYD:
|
|||
|
|
Camera.main.transform.DOMove(_cameraPos4, 0f);
|
|||
|
|
Camera.main.transform.DORotate(_cameraRot4, 0f);
|
|||
|
|
break;
|
|||
|
|
case EnumCtrl.Type.BYSS:
|
|||
|
|
Camera.main.transform.DOMove(_cameraPos5, 0f);
|
|||
|
|
Camera.main.transform.DORotate(_cameraRot5, 0f);
|
|||
|
|
break;
|
|||
|
|
default:
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F>ս<EFBFBD><D5BD>뵯<EFBFBD><EBB5AF><EFBFBD><EFBFBD>ʾ
|
|||
|
|
_maskPanel.gameObject.SetActive(true);
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
if (_CurTrainExamSceneCtrl!=null&&_CurTrainExamSceneCtrl.speakManager!=null)
|
|||
|
|
{
|
|||
|
|
///<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>飬<EFBFBD><E9A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ
|
|||
|
|
_CurTrainExamSceneCtrl.speakManager.ChangeModelAudio("<22>豸<EFBFBD><E8B1B8>װ");
|
|||
|
|
//<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
_CurTrainExamSceneCtrl.speakManager.Init();
|
|||
|
|
_CurTrainExamSceneCtrl.speakManager.PlayAudioCilp();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
private void OnEnable()
|
|||
|
|
{
|
|||
|
|
string hintStr = null;
|
|||
|
|
foreach (HintModel.AppHintData item in AppManagement.Instance._HintData._AppHints)
|
|||
|
|
{
|
|||
|
|
if (item._AppName.Equals(EnumCtrl.GetEnumDescription(AppManagement.Instance._CurType)))
|
|||
|
|
{
|
|||
|
|
hintStr = item._TrainHints[0]._TrainHint;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
PopUpMng.PopToast("ʵѵ<CAB5><D1B5><EFBFBD><EFBFBD>", hintStr, "ȷ<><C8B7>", () =>
|
|||
|
|
{
|
|||
|
|
_maskPanel.gameObject.SetActive(false);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
private void Update()
|
|||
|
|
{
|
|||
|
|
if (!string.IsNullOrEmpty(_selectToolName) && _curSelectToolGeo)
|
|||
|
|
{
|
|||
|
|
Vector3 worldPos = Camera.main.ScreenToWorldPoint(new Vector3(
|
|||
|
|
Input.mousePosition.x, Input.mousePosition.y, 1.0f));
|
|||
|
|
_curSelectToolGeo.transform.position = worldPos;
|
|||
|
|
ItemModelCtrl itemCtrl = null;
|
|||
|
|
_cameraRay = Camera.main.ScreenPointToRay(Input.mousePosition);
|
|||
|
|
if (PopUpMng._TriAble && Physics.Raycast(_cameraRay, out RaycastHit cast) &&
|
|||
|
|
!EventSystem.current.IsPointerOverGameObject())
|
|||
|
|
{
|
|||
|
|
//Debug.Log(cast.transform.name);
|
|||
|
|
//Debug.DrawLine(_cameraRay.origin, cast.point, Color.red, 0.5f);
|
|||
|
|
itemCtrl = cast.transform.GetComponent<ItemModelCtrl>();
|
|||
|
|
if (itemCtrl)
|
|||
|
|
{
|
|||
|
|
_curSelectToolGeo.transform.position = itemCtrl.transform.position;
|
|||
|
|
_curSelectToolGeo.transform.rotation = itemCtrl.transform.rotation;
|
|||
|
|
//_curSelectToolGeo.transform.localScale = itemCtrl.transform.localScale;
|
|||
|
|
|
|||
|
|
_curMouseHoverCtrl?.DefaultAlphaState();
|
|||
|
|
itemCtrl.HoverState();
|
|||
|
|
_curMouseHoverCtrl = itemCtrl;
|
|||
|
|
|
|||
|
|
if (Input.GetMouseButtonDown(0))
|
|||
|
|
{
|
|||
|
|
if (_curMouseHoverCtrl)
|
|||
|
|
{
|
|||
|
|
//<2F>ж<EFBFBD>λ<EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD>Ƿ<EFBFBD>ȷ
|
|||
|
|
bool right = false;
|
|||
|
|
string hoverProess = _curMouseHoverCtrl._ProcessName;
|
|||
|
|
string curProess = _CurProcess.ProcessName;
|
|||
|
|
//int indexH = hoverProess.LastIndexOf('(');
|
|||
|
|
//int indexC = curProess.LastIndexOf('(');
|
|||
|
|
//if (indexH > 0 && indexC > 0)
|
|||
|
|
//{
|
|||
|
|
// hoverProess = hoverProess.Substring(0, indexH);
|
|||
|
|
// curProess = curProess.Substring(0, indexC);
|
|||
|
|
//}
|
|||
|
|
if (hoverProess.Equals(curProess))
|
|||
|
|
{
|
|||
|
|
for (int i = 0; i < _curMouseHoverCtrl._NeedToolsName.Length; i++)
|
|||
|
|
{
|
|||
|
|
if (_curMouseHoverCtrl._NeedToolsName[i].Equals(_selectToolName))
|
|||
|
|
{
|
|||
|
|
right = true;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if (!right)
|
|||
|
|
{//<2F>Ŵ<EFBFBD><C5B4><EFBFBD>
|
|||
|
|
_CurProcess.RealityPlace = _curMouseHoverCtrl._ProcessName;
|
|||
|
|
PopUpMng.PopCustomFailToast("λ<>ô<EFBFBD><C3B4><EFBFBD>", "<22><><EFBFBD><EFBFBD>ǰѡ<C7B0><D1A1><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ˴<DAB4><CBB4><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ð<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>", "ȷ<><C8B7>", () =>
|
|||
|
|
{
|
|||
|
|
_packageNumber++;
|
|||
|
|
if (AppManagement.Instance._CurModel == EnumCtrl.Model.Train&&
|
|||
|
|
_packageNumber == 3)
|
|||
|
|
{
|
|||
|
|
ErroPackageAuto();
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
if (AppManagement.Instance._CurModel == EnumCtrl.Model.Teach&&
|
|||
|
|
_packageNumber == 3)
|
|||
|
|
{
|
|||
|
|
ErroPackageAuto();
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
_selectToolNumber++;
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F>жϹ<D0B6><CFB9><EFBFBD><EFBFBD>Ƿ<EFBFBD>ѡ<EFBFBD><D1A1>ȫ<EFBFBD>棬ȫ<E6A3AC><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|||
|
|
if (_selectToolNumber == _curMouseHoverCtrl._NeedToolsName.Length)
|
|||
|
|
{
|
|||
|
|
PopUpMng.PopCustomSucToast("<22><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>", "<22><>ϲ<EFBFBD><CFB2><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>װ", "ȷ<><C8B7>", () =>
|
|||
|
|
{
|
|||
|
|
_CurTrainExamSceneCtrl.ShowProcessPart(_CurProcess);
|
|||
|
|
_selectToolNumber = 0;
|
|||
|
|
if (_CurTrainExamSceneCtrl.speakManager!=null)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
_CurTrainExamSceneCtrl.speakManager.AddAudioCilp();
|
|||
|
|
_CurTrainExamSceneCtrl.speakManager.PlayAudioCilp();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
if (AppManagement.Instance._CurModel == EnumCtrl.Model.Exam)
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪͼƬ<CDBC><C6AC><EFBFBD><EFBFBD>
|
|||
|
|
#if UNITY_EDITOR || UNITY_STANDALONE
|
|||
|
|
#region PC<EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
string temppath = System.IO.Path.Combine(
|
|||
|
|
System.IO.Path.GetTempPath(), //ConstCtrl.DATA_PICTURE_TEMP_FOLDER,
|
|||
|
|
AppManagement.Instance._CurType.ToString(),
|
|||
|
|
_CurProcess.ProcessName + ".png");
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
#elif UNITY_WEBGL
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>
|
|||
|
|
#region <EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD>
|
|||
|
|
string temppath = "";
|
|||
|
|
#endregion
|
|||
|
|
#endif
|
|||
|
|
UtilitiesMng.StartScreenshot(temppath, (string vul) =>
|
|||
|
|
{
|
|||
|
|
#if UNITY_EDITOR || UNITY_STANDALONE
|
|||
|
|
_CurProcess.RightImg = temppath;
|
|||
|
|
#elif UNITY_WEBGL
|
|||
|
|
WDebug.Log("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>" + _CurProcess.RightImg);
|
|||
|
|
_CurProcess.RightImg = vul;
|
|||
|
|
#endif
|
|||
|
|
_selectToolName = null;
|
|||
|
|
_curMouseHoverCtrl = null;
|
|||
|
|
EventCenterManager.Instance.Dispatch(EventEnum.ChangeProcess, this, null);
|
|||
|
|
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
else if (AppManagement.Instance._CurModel == EnumCtrl.Model.Train)
|
|||
|
|
{
|
|||
|
|
_selectToolName = null;
|
|||
|
|
_curMouseHoverCtrl = null;
|
|||
|
|
EventCenterManager.Instance.Dispatch(EventEnum.ChangeProcess, this, null);
|
|||
|
|
WDebug.Log("Train!!!!!!!!!!!!!!!!!!!!!!");
|
|||
|
|
}
|
|||
|
|
else if (AppManagement.Instance._CurModel == EnumCtrl.Model.Teach)
|
|||
|
|
{
|
|||
|
|
_selectToolName = null;
|
|||
|
|
_curMouseHoverCtrl = null;
|
|||
|
|
EventCenterManager.Instance.Dispatch(EventEnum.ChangeProcess, this, null);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
_curMouseHoverCtrl?.DefaultAlphaState();
|
|||
|
|
_selectToolName = null;
|
|||
|
|
_curMouseHoverCtrl = null;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
Destroy(_curSelectToolGeo);
|
|||
|
|
_selectToolName = null;
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if (itemCtrl == null)
|
|||
|
|
{
|
|||
|
|
_curMouseHoverCtrl?.DefaultAlphaState();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
protected override void OnDestroy()
|
|||
|
|
{
|
|||
|
|
base.OnDestroy();
|
|||
|
|
EventCenterManager.Instance.RemoveListener(EventEnum.PickTool, PickToolCall);
|
|||
|
|
EventCenterManager.Instance.RemoveListener(EventEnum.ChangeProcess, ChangeProcessCall);
|
|||
|
|
|
|||
|
|
//_isShowVideo = false;
|
|||
|
|
// _videoTran.gameObject.SetActive(false);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
private void GetTools()
|
|||
|
|
{
|
|||
|
|
List<string> tools = new List<string>();
|
|||
|
|
foreach (DataItemModel itemValue in AppManagement.Instance._AppModel.DataJDSBArray[EnumCtrl.GetEnumDescription(AppManagement.Instance._CurType)].Values)
|
|||
|
|
{
|
|||
|
|
for (int i = 0; i < itemValue.Tools.Length; i++)
|
|||
|
|
{
|
|||
|
|
if (!tools.Contains(itemValue.Tools[i]))
|
|||
|
|
{
|
|||
|
|
tools.Add(itemValue.Tools[i]);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
UIBase toolsUI = UI_Manage.Instance.ShowPanel("ToolsPanel", -1, transform);
|
|||
|
|
ToolsPanel toosCtrl = toolsUI.GetComponent<ToolsPanel>();
|
|||
|
|
Transform toosTran = toolsUI.GetComponent<Transform>();
|
|||
|
|
toosTran.SetAsFirstSibling();
|
|||
|
|
toosCtrl.Init(tools.ToArray());
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><DFBC><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
private void GetCurNeedTools()
|
|||
|
|
{
|
|||
|
|
string[] toolsTemp = AppManagement.Instance._AppModel.DataJDSBArray[
|
|||
|
|
EnumCtrl.GetEnumDescription(AppManagement.Instance._CurType)][_CurProcess.ProcessName].Tools;
|
|||
|
|
for (int i = 0; i < toolsTemp.Length; i++)
|
|||
|
|
{
|
|||
|
|
_curNeedTools.Add(toolsTemp[i]);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ϰ<EFBFBD><CFB0><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
private void PickToolCall(object sender, System.EventArgs e)
|
|||
|
|
{
|
|||
|
|
if (!string.IsNullOrEmpty(_selectToolName)) return;
|
|||
|
|
ToolArgs data = e as ToolArgs;
|
|||
|
|
//Debug.Log($"<22><><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD>յ<EFBFBD>{data._ToolName}<7D><><EFBFBD><EFBFBD>Ϣ");
|
|||
|
|
_selectToolName = data._ToolName;
|
|||
|
|
|
|||
|
|
bool selRight = false;
|
|||
|
|
string[] curSelectTool = _CurProcess.Tools;
|
|||
|
|
for (int i = 0; i < curSelectTool.Length; i++)
|
|||
|
|
{
|
|||
|
|
if (curSelectTool[i].Equals(_selectToolName))
|
|||
|
|
{
|
|||
|
|
selRight = true;
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if (selRight)
|
|||
|
|
{
|
|||
|
|
GameObject itemPrefab = null;
|
|||
|
|
foreach (var item in _CurTrainExamSceneCtrl._toolPrefab)
|
|||
|
|
{
|
|||
|
|
if (item.name.Equals(_selectToolName))
|
|||
|
|
{
|
|||
|
|
itemPrefab = item;
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if (itemPrefab)
|
|||
|
|
{
|
|||
|
|
_curSelectToolGeo = Instantiate(itemPrefab, _CurTrainExamSceneCtrl._ToolsTemp);
|
|||
|
|
_curSelectToolGeo.name = _selectToolName;
|
|||
|
|
_curSelectToolGeo.SetActive(true);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
_CurProcess.RealityTools = new string[] { _selectToolName };
|
|||
|
|
PopUpMng.PopCustomFailToast("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "<22>밴<EFBFBD>ղ<EFBFBD><D5B2><EFBFBD><EFBFBD><EFBFBD>ʾѡ<CABE><D1A1><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "ȷ<><C8B7>", () =>
|
|||
|
|
{
|
|||
|
|
_selectToolName = null;
|
|||
|
|
_packageNumber++;
|
|||
|
|
if (AppManagement.Instance._CurModel == EnumCtrl.Model.Train &&
|
|||
|
|
_packageNumber == 3)
|
|||
|
|
{
|
|||
|
|
ErroPackageAuto();
|
|||
|
|
}
|
|||
|
|
if (AppManagement.Instance._CurModel == EnumCtrl.Model.Teach &&
|
|||
|
|
_packageNumber == 3)
|
|||
|
|
{
|
|||
|
|
ErroPackageAuto();
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><>ֵ<EFBFBD><D6B5>ǰ<EFBFBD><C7B0><EFBFBD>е<EFBFBD><D0B5>ڼ<EFBFBD><DABC><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
public void ChangeProcessCall(object sender, System.EventArgs e)
|
|||
|
|
{
|
|||
|
|
if (_CurProcess == null)
|
|||
|
|
{//<2F>տ<EFBFBD>ʼ
|
|||
|
|
_CurProcess = AppManagement.Instance._AppModel.DataJDSBArray[
|
|||
|
|
EnumCtrl.GetEnumDescription(AppManagement.Instance._CurType)].Values.First();
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
Dictionary<string, DataItemModel> curprocess = AppManagement.Instance._AppModel.DataJDSBArray[EnumCtrl.GetEnumDescription(AppManagement.Instance._CurType)];
|
|||
|
|
if (_CurProcess.ID == curprocess.Count - 1)
|
|||
|
|
{ //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
string curtype="";
|
|||
|
|
switch (AppManagement.Instance._CurType)
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
case EnumCtrl.Type.XHBY:
|
|||
|
|
curtype = "ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD>е<EFBFBD><D0B5>";
|
|||
|
|
break;
|
|||
|
|
case EnumCtrl.Type.QDCY:
|
|||
|
|
curtype = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ";
|
|||
|
|
break;
|
|||
|
|
case EnumCtrl.Type.CLFJ:
|
|||
|
|
curtype = "<22><><EFBFBD>Ϸּ<CFB7>";
|
|||
|
|
|
|||
|
|
break;
|
|||
|
|
case EnumCtrl.Type.ZNYD:
|
|||
|
|
curtype = "<22><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>";
|
|||
|
|
break;
|
|||
|
|
case EnumCtrl.Type.BYSS:
|
|||
|
|
curtype = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
|
break;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
PopUpMng.PopCustomSucToast("<22><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>", "<22><>ϲ<EFBFBD><CFB2><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>"+ curtype + "<22><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>װ", "<22><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>", () =>
|
|||
|
|
{
|
|||
|
|
AppManagement.Instance.ChangeModel(EnumCtrl.Model.Line);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
if (curprocess.Keys.Contains(_CurProcess.ProcessName))
|
|||
|
|
{
|
|||
|
|
int id = curprocess[_CurProcess.ProcessName].ID;
|
|||
|
|
foreach (DataItemModel item in curprocess.Values)
|
|||
|
|
{
|
|||
|
|
if (item.ID == id + 1)
|
|||
|
|
{
|
|||
|
|
_CurProcess = item;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>
|
|||
|
|
if (AppManagement.Instance._CurType == EnumCtrl.Type.BYSS)
|
|||
|
|
{//<2F><><EFBFBD>ڹ̶<DAB9><CCB6><EFBFBD>̫С<CCAB>ˣ<EFBFBD><CBA3><EFBFBD>Ƕ<EFBFBD>ڻ<EFBFBD><DABB><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD>̶<EFBFBD><CCB6><EFBFBD>ʱ<EFBFBD><CAB1>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>鴥<EFBFBD><E9B4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
if (_CurProcess.ProcessName.Equals("Ƥ<><C6A4><EFBFBD>̶<EFBFBD><CCB6><EFBFBD>"))
|
|||
|
|
{
|
|||
|
|
for (int i = 0; i < _CurTrainExamSceneCtrl._partModel.Length; i++)
|
|||
|
|
{
|
|||
|
|
if(_CurTrainExamSceneCtrl._partModel[i].name.Equals("SM_JiXieShouZhiChengJia")||
|
|||
|
|
_CurTrainExamSceneCtrl._partModel[i].name.Equals("SM_TiShengJiGou2") ||
|
|||
|
|
_CurTrainExamSceneCtrl._partModel[i].name.Equals("SM_TaiShengQiGang") ||
|
|||
|
|
_CurTrainExamSceneCtrl._partModel[i].name.Equals("<22><>006"))
|
|||
|
|
{
|
|||
|
|
_CurTrainExamSceneCtrl._partModel[i].GetComponent<Collider>().enabled = false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (_CurTrainExamSceneCtrl._partModel[i].name.Equals("SM_HuaKuai"))
|
|||
|
|
{
|
|||
|
|
Transform HuaKuaiTran = _CurTrainExamSceneCtrl._partModel[i].transform;
|
|||
|
|
_CurTrainExamSceneCtrl.GetComponentInChildren<Animator>().enabled = false;
|
|||
|
|
WDebug.Log("<22><><EFBFBD>鷴ת");
|
|||
|
|
HuaKuaiTran.DOLocalRotate(Vector3.left * 90.0f, 0.5f);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else if (_CurProcess.ProcessName.Equals("<22><>е<EFBFBD><D0B5>֧<EFBFBD>ż<EFBFBD>"))
|
|||
|
|
{
|
|||
|
|
for (int i = 0; i < _CurTrainExamSceneCtrl._partModel.Length; i++)
|
|||
|
|
{
|
|||
|
|
if (_CurTrainExamSceneCtrl._partModel[i].name.Equals("SM_JiXieShouZhiChengJia"))
|
|||
|
|
{
|
|||
|
|
_CurTrainExamSceneCtrl._partModel[i].GetComponent<Collider>().enabled = true;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else if (_CurProcess.ProcessName.Equals("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"))
|
|||
|
|
{
|
|||
|
|
for (int i = 0; i < _CurTrainExamSceneCtrl._partModel.Length; i++)
|
|||
|
|
{
|
|||
|
|
if (_CurTrainExamSceneCtrl._partModel[i].name.Equals("SM_TiShengJiGou2"))
|
|||
|
|
{
|
|||
|
|
_CurTrainExamSceneCtrl._partModel[i].GetComponent<Collider>().enabled = true;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else if (_CurProcess.ProcessName.Equals("̧<><CCA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"))
|
|||
|
|
{
|
|||
|
|
for (int i = 0; i < _CurTrainExamSceneCtrl._partModel.Length; i++)
|
|||
|
|
{
|
|||
|
|
if (_CurTrainExamSceneCtrl._partModel[i].name.Equals("SM_TaiShengQiGang"))
|
|||
|
|
{
|
|||
|
|
_CurTrainExamSceneCtrl._partModel[i].GetComponent<Collider>().enabled = true;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else if (_CurProcess.ProcessName.Equals("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ"))
|
|||
|
|
{
|
|||
|
|
for (int i = 0; i < _CurTrainExamSceneCtrl._partModel.Length; i++)
|
|||
|
|
{
|
|||
|
|
if (_CurTrainExamSceneCtrl._partModel[i].name.Equals("<22><>006"))
|
|||
|
|
{
|
|||
|
|
_CurTrainExamSceneCtrl._partModel[i].GetComponent<Collider>().enabled = true;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if (_CurProcess.ProcessName.Equals("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>+<2B>̶<EFBFBD><CCB6><EFBFBD>"))
|
|||
|
|
{
|
|||
|
|
for (int i = 0; i < _CurTrainExamSceneCtrl._partModel.Length; i++)
|
|||
|
|
{
|
|||
|
|
if (_CurTrainExamSceneCtrl._partModel[i].name.Equals("SM_HuaKuai"))
|
|||
|
|
{
|
|||
|
|
Transform HuaKuaiTran = _CurTrainExamSceneCtrl._partModel[i].transform;
|
|||
|
|
HuaKuaiTran.DOLocalRotate(Vector3.right * 90.0f, 0.5f).OnComplete(()=> {
|
|||
|
|
_CurTrainExamSceneCtrl.GetComponentInChildren<Animator>().enabled = true;
|
|||
|
|
WDebug.Log("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
_packageNumber = 0;
|
|||
|
|
PopUpMng.PopAlert(_CurProcess.Hint, -1);
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><F2B2A5B7>Զ<EFBFBD><D4B6><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
private void ErroPackageAuto()
|
|||
|
|
{
|
|||
|
|
GameObject itemPrefab = null;
|
|||
|
|
foreach (var item in _CurTrainExamSceneCtrl._toolPrefab)
|
|||
|
|
{
|
|||
|
|
if (item.name.Equals(_CurProcess.Tools[0]))
|
|||
|
|
{
|
|||
|
|
itemPrefab = item;
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if (itemPrefab)
|
|||
|
|
{
|
|||
|
|
_curSelectToolGeo = Instantiate(itemPrefab, _CurTrainExamSceneCtrl._ToolsTemp);
|
|||
|
|
_curSelectToolGeo.name = _selectToolName;
|
|||
|
|
_curSelectToolGeo.SetActive(true);
|
|||
|
|
_curSelectToolGeo.transform.position = Camera.main.transform.position;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
Vector3 targPos = Vector3.zero;
|
|||
|
|
Quaternion targRat = new Quaternion();
|
|||
|
|
Vector3 targScale = Vector3.zero;
|
|||
|
|
for (int i = 0; i < _CurTrainExamSceneCtrl._partModel.Length; i++)
|
|||
|
|
{
|
|||
|
|
if (_CurTrainExamSceneCtrl._partModel[i]._ProcessName.Equals(_CurProcess.ProcessName))
|
|||
|
|
{
|
|||
|
|
targPos = _CurTrainExamSceneCtrl._partModel[i].transform.position;
|
|||
|
|
targRat = _CurTrainExamSceneCtrl._partModel[i].transform.rotation;
|
|||
|
|
targScale = _CurTrainExamSceneCtrl._partModel[i].transform.localScale;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
Sequence sequence = DOTween.Sequence();
|
|||
|
|
sequence.Append(_curSelectToolGeo.transform.DOMove(targPos, 1.0f))
|
|||
|
|
.Insert(0, _curSelectToolGeo.transform.DORotate(targRat.eulerAngles, 1.0f))
|
|||
|
|
.Insert(0, _curSelectToolGeo.transform.DOScale(targScale, 1.0f))
|
|||
|
|
.OnComplete(() =>
|
|||
|
|
{
|
|||
|
|
_packageNumber = 0;
|
|||
|
|
Destroy(_curSelectToolGeo);
|
|||
|
|
_CurTrainExamSceneCtrl.ShowProcessPart(_CurProcess);
|
|||
|
|
_selectToolNumber = 0;
|
|||
|
|
_curMouseHoverCtrl = null;
|
|||
|
|
EventCenterManager.Instance.Dispatch(EventEnum.ChangeProcess, this, null);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|