|
|
@@ -1,62 +1,63 @@
|
|
|
-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;
|
|
|
-
|
|
|
- [Button("搜索场景内使用到的工具")]
|
|
|
- public void SearchTools()
|
|
|
- {
|
|
|
- OpTrigger_ToolPack[] tmpToolPacks = FindObjectsOfType<OpTrigger_ToolPack>();
|
|
|
-
|
|
|
- choseToolNames.Clear();
|
|
|
-
|
|
|
- foreach (var toolPackItem in tmpToolPacks)
|
|
|
- {
|
|
|
- if (toolPackItem.useTool)
|
|
|
- {
|
|
|
- foreach (var toolName in toolPackItem.choseToolNames)
|
|
|
- {
|
|
|
- if (!choseToolNames.Contains(toolName))
|
|
|
- {
|
|
|
- choseToolNames.Add(toolName);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- 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)
|
|
|
+using ChivaXR;
|
|
|
+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;
|
|
|
+
|
|
|
+ [Button("搜索场景内使用到的工具")]
|
|
|
+ public void SearchTools()
|
|
|
+ {
|
|
|
+ OpTrigger_ToolPack[] tmpToolPacks = FindObjectsOfType<OpTrigger_ToolPack>();
|
|
|
+
|
|
|
+ choseToolNames.Clear();
|
|
|
+
|
|
|
+ foreach (var toolPackItem in tmpToolPacks)
|
|
|
+ {
|
|
|
+ if (toolPackItem.useTool)
|
|
|
+ {
|
|
|
+ foreach (var toolName in toolPackItem.choseToolNames)
|
|
|
+ {
|
|
|
+ if (!choseToolNames.Contains(toolName))
|
|
|
+ {
|
|
|
+ choseToolNames.Add(toolName);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ 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)
|
|
|
{
|
|
|
if (OperateSetting.Instance.m_CurrentOperationMode != OperationMode.Learn)
|
|
|
{
|
|
|
@@ -64,82 +65,108 @@ public class OPTrigger_SelectToolElemet : OperationData_TriggerMode
|
|
|
{
|
|
|
toolLibraryType = ToolLibraryType.ToolRoom,
|
|
|
selectAction = Check,
|
|
|
- rightTools = choseToolNames
|
|
|
+ rightTools = choseToolNames,
|
|
|
+ lockEsc = true,
|
|
|
});
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- //UIKit.OpenPanel<ToolLibraryForm>(new ToolLibraryFormData()
|
|
|
- //{
|
|
|
- // toolLibraryType = ToolLibraryType.ToolRoom,
|
|
|
- // selectAction = Check,
|
|
|
- // rightTools = choseToolNames
|
|
|
- //});
|
|
|
- OperateSetting.Instance.m_CurrentStepRightToolNames = choseToolNames;
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- public override bool TriggerCondition()
|
|
|
- {
|
|
|
- if (OperateSetting.Instance.m_CurrentOperationMode == OperationMode.Learn)
|
|
|
- {
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- if (OperateSetting.Instance.m_CurrentOperationMode == OperationMode.FreeParctice
|
|
|
- || OperateSetting.Instance.m_CurrentOperationMode == OperationMode.FreeExam)
|
|
|
- {
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- 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>();
|
|
|
- }
|
|
|
-}
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ //UIKit.OpenPanel<ToolLibraryForm>(new ToolLibraryFormData()
|
|
|
+ //{
|
|
|
+ // toolLibraryType = ToolLibraryType.ToolRoom,
|
|
|
+ // selectAction = Check,
|
|
|
+ // rightTools = choseToolNames
|
|
|
+ //});
|
|
|
+ OperateSetting.Instance.m_CurrentStepRightToolNames = choseToolNames;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public override bool TriggerCondition()
|
|
|
+ {
|
|
|
+ if (OperateSetting.Instance.m_CurrentOperationMode == OperationMode.Learn)
|
|
|
+ {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (OperateSetting.Instance.m_CurrentOperationMode == OperationMode.FreeParctice
|
|
|
+ || OperateSetting.Instance.m_CurrentOperationMode == OperationMode.FreeExam)
|
|
|
+ {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (OperateSetting.Instance.m_CurrentOperationMode == OperationMode.Exam)
|
|
|
+ {
|
|
|
+ List<ToolConfigInfo> tmpToolConfigInfos = m_ToolConfigProxy.GetAllToolConfigInfoFromCTRSTCIs();
|
|
|
+
|
|
|
+ if (tmpToolConfigInfos.Count != choseToolNames.Count)
|
|
|
+ {
|
|
|
+ OperateSetting.Instance.ToolPackUILogic.SetHint(true);
|
|
|
+ ExamManagerForPC.instance.RecordFault(ProcessManagement.Instance.currentStepID, ErrorReason.SelectWrongTarget);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ foreach (var toolName in choseToolNames)
|
|
|
+ {
|
|
|
+ if (tmpToolConfigInfos.Find(t => t.toolName == toolName) == null)
|
|
|
+ {
|
|
|
+ OperateSetting.Instance.ToolPackUILogic.SetHint(true);
|
|
|
+ ExamManagerForPC.instance.RecordFault(ProcessManagement.Instance.currentStepID, ErrorReason.SelectWrongTarget);
|
|
|
+ isFinish = false;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ isFinish = true;
|
|
|
+ OperateSetting.Instance.ToolPackUILogic.SetHint(false);
|
|
|
+
|
|
|
+ UIKit.ClosePanel<ToolLibraryForm>();
|
|
|
+ }
|
|
|
+}
|