|
|
@@ -0,0 +1,102 @@
|
|
|
+using ChivaXR.Op;
|
|
|
+using ChivaXR.VR;
|
|
|
+using QFramework;
|
|
|
+using Sirenix.OdinInspector;
|
|
|
+using System.Collections;
|
|
|
+using System.Collections.Generic;
|
|
|
+using UnityEngine;
|
|
|
+
|
|
|
+public class OPTrigger_SelectToolElemet : OperationData_TriggerMode
|
|
|
+{
|
|
|
+ [LabelText("需要选择的工具组")]
|
|
|
+ [ValueDropdown("GetToolNames", DropdownTitle = "需要选择的工具组")]
|
|
|
+ public List<string> choseToolNames = new List<string>();
|
|
|
+
|
|
|
+ ToolConfigProxy m_ToolConfigProxy;
|
|
|
+
|
|
|
+ private bool isFinish;
|
|
|
+
|
|
|
+ public override void SetDataStateValue(float value)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ protected override void OnOperationDataStatusChanged(OperationDataStatus status)
|
|
|
+ {
|
|
|
+ base.OnOperationDataStatusChanged(status);
|
|
|
+
|
|
|
+ switch (status)
|
|
|
+ {
|
|
|
+ case OperationDataStatus.InActive:
|
|
|
+
|
|
|
+
|
|
|
+ break;
|
|
|
+ case OperationDataStatus.Listening:
|
|
|
+
|
|
|
+ if (UIKit.GetPanel<ToolLibraryForm>() == null)
|
|
|
+ {
|
|
|
+ UIKit.OpenPanel<ToolLibraryForm>(new ToolLibraryFormData()
|
|
|
+ {
|
|
|
+ toolLibraryType = ToolLibraryType.ToolRoom,
|
|
|
+ selectAction = Check
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public override bool TriggerCondition()
|
|
|
+ {
|
|
|
+
|
|
|
+
|
|
|
+ return isFinish;
|
|
|
+ }
|
|
|
+
|
|
|
+ private IEnumerable GetToolNames()
|
|
|
+ {
|
|
|
+ ToolConfigProxy toolConfigProxy = DAL.Instance.Get<ToolConfigProxy>();
|
|
|
+
|
|
|
+ List<string> tmpToolNames = toolConfigProxy.GetAllToolCofigInfoName();
|
|
|
+
|
|
|
+ if (tmpToolNames == null || tmpToolNames.Count == 0)
|
|
|
+ {
|
|
|
+ Debug.LogError("请检查表格配置文件!!!");
|
|
|
+ }
|
|
|
+
|
|
|
+ return tmpToolNames;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void Check()
|
|
|
+ {
|
|
|
+ m_ToolConfigProxy = DAL.Instance.Get<ToolConfigProxy>();
|
|
|
+
|
|
|
+ if (OperateSetting.Instance.m_CurrentOperationMode == OperationMode.Practice)
|
|
|
+ {
|
|
|
+ List<ToolConfigInfo> tmpToolConfigInfos = m_ToolConfigProxy.GetAllToolConfigInfoFromCTRSTCIs();
|
|
|
+
|
|
|
+ if (tmpToolConfigInfos.Count != choseToolNames.Count)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ foreach (var toolName in choseToolNames)
|
|
|
+ {
|
|
|
+ if (tmpToolConfigInfos.Find(t => t.toolName == toolName) == null)
|
|
|
+ {
|
|
|
+ isFinish = false;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ isFinish = true;
|
|
|
+
|
|
|
+ UIKit.ClosePanel<ToolLibraryForm>();
|
|
|
+ }
|
|
|
+}
|