598 lines
27 KiB
C#
Raw Normal View History

2025-02-12 08:43:33 +08:00
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);
});
}
}
}