diff --git a/SXElectricityInformationAcquisition/Assets/JunctionBox.cs b/SXElectricityInformationAcquisition/Assets/JunctionBox.cs index cf483aa2..7ead7364 100644 --- a/SXElectricityInformationAcquisition/Assets/JunctionBox.cs +++ b/SXElectricityInformationAcquisition/Assets/JunctionBox.cs @@ -14,9 +14,9 @@ public class JunctionBox : MonoBehaviour /// public Transform TransparentlidObj; - /// - /// 端子排上所有封印和螺丝 - /// + /// + /// 端子排上所有封印和螺丝 + /// public GameObject[] AllObjects; /// @@ -28,7 +28,7 @@ public class JunctionBox : MonoBehaviour /// 高亮物体 /// //public GameObject[] AllHightObj; - + /// /// 接线盒是否盖上 /// @@ -37,14 +37,14 @@ public class JunctionBox : MonoBehaviour /// /// 滑块的原始位置 /// - private List originalPosition=new List(); + private List originalPosition = new List(); /// /// 滑块的原始旋转 /// private Quaternion originalRotation; - bool isanzhaung =false; + bool isanzhaung = false; /// /// 接线盒上的封印和螺丝 @@ -70,7 +70,7 @@ public class JunctionBox : MonoBehaviour //originalRotation = GameObjectSlider[i].transform.localRotation; } } - + /// /// 是否高亮 /// @@ -97,102 +97,119 @@ public class JunctionBox : MonoBehaviour // } // } //} - + void Update() { - + if (EventSystem.current.IsPointerOverGameObject()) return; if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; - bool raycast = Physics.Raycast(ray, out hit); + bool raycast = Physics.Raycast(ray, out hit); if (raycast) { if (iscover) { //判断盖子是否打开 - switch (hit.collider.gameObject.name) + if (MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name)) { - // case "接线盒纵向滑块001": - // hit.collider.gameObject.transform.DOLocalMove(new Vector3(0.06131744f, -0.0075f, 0.0089f), 1f); - // Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - // break; - // case "接线盒纵向滑块002": - // hit.collider.gameObject.transform.DOLocalMove(new Vector3(0.02013969f, -0.0075f, 0.0089f), 1f); - // Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - // break; - // case "接线盒纵向滑块003": - // hit.collider.gameObject.transform.DOLocalMove(new Vector3(-0.02001452f, -0.0075f, 0.0089f), 1f); - // Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - // break; - case "接线盒纵向滑块004": - hit.collider.gameObject.transform.DOLocalMove(new Vector3(-0.06075525f, -0.00784f, 0.0089f), 1f); - Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - break; - case "接线盒横向上滑块003": - hit.collider.gameObject.transform.DOLocalMove(new Vector3(-0.04339f, 0.0058f, -0.00263f), 1f); - Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - break; - case "接线盒纵向滑块003": - hit.collider.gameObject.transform.DOLocalMove(new Vector3(-0.02001452f, -0.0074f, 0.0089f), 1f); - Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - break; - case "接线盒横向上滑块001": - hit.collider.gameObject.transform.DOLocalMove(new Vector3(-0.00316f, 0.0058f, -0.00263f), 1f); - Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - break; - case "接线盒纵向滑块002": - hit.collider.gameObject.transform.DOLocalMove(new Vector3(0.02013969f, -0.008f, 0.0089f), 1f); - Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - break; - case "接线盒横向上滑块002": - hit.collider.gameObject.transform.DOLocalMove(new Vector3(0.0372f, 0.0058f, -0.0026f), 1f); - Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - break; - case "接线盒纵向滑块001": - hit.collider.gameObject.transform.DOLocalMove(new Vector3(0.06131744f, -0.0079f, 0.0089f), 1f); - Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - break; - - case "三相_有互感器_无光伏_接线盒_A相_横向下滑块_正确": - hit.collider.gameObject.transform.DOLocalMove(new Vector3(-0.0404f, -0.0058f, -0.0026f), 1f); - Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - break; - case "三相_有互感器_无光伏_接线盒_B相_横向下滑块_正确": - hit.collider.gameObject.transform.DOLocalMove(new Vector3(0f, -0.0058f, -0.0026f), 1f); - Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - break; - case "三相_有互感器_无光伏_接线盒_C相_横向下滑块_正确": - hit.collider.gameObject.transform.DOLocalMove(new Vector3(0.0408f, -0.0058f, -0.0026f), 1f); - Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - break; + + switch (hit.collider.gameObject.name) + { + // case "接线盒纵向滑块001": + // hit.collider.gameObject.transform.DOLocalMove(new Vector3(0.06131744f, -0.0075f, 0.0089f), 1f); + // Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + // break; + // case "接线盒纵向滑块002": + // hit.collider.gameObject.transform.DOLocalMove(new Vector3(0.02013969f, -0.0075f, 0.0089f), 1f); + // Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + // break; + // case "接线盒纵向滑块003": + // hit.collider.gameObject.transform.DOLocalMove(new Vector3(-0.02001452f, -0.0075f, 0.0089f), 1f); + // Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + // break; + case "接线盒纵向滑块004": + hit.collider.gameObject.transform.DOLocalMove(new Vector3(-0.06075525f, -0.00784f, 0.0089f), 1f); + Debug.Log(hit.collider.gameObject.name); + //MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + break; + case "接线盒横向上滑块003": + hit.collider.gameObject.transform.DOLocalMove(new Vector3(-0.04339f, 0.0058f, -0.00263f), 1f); + Debug.Log(hit.collider.gameObject.name); + //MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + break; + case "接线盒纵向滑块003": + hit.collider.gameObject.transform.DOLocalMove(new Vector3(-0.02001452f, -0.0074f, 0.0089f), 1f); + Debug.Log(hit.collider.gameObject.name); + //MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + break; + case "接线盒横向上滑块001": + hit.collider.gameObject.transform.DOLocalMove(new Vector3(-0.00316f, 0.0058f, -0.00263f), 1f); + Debug.Log(hit.collider.gameObject.name); + //MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + break; + case "接线盒纵向滑块002": + hit.collider.gameObject.transform.DOLocalMove(new Vector3(0.02013969f, -0.008f, 0.0089f), 1f); + Debug.Log(hit.collider.gameObject.name); + //MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + break; + case "接线盒横向上滑块002": + hit.collider.gameObject.transform.DOLocalMove(new Vector3(0.0372f, 0.0058f, -0.0026f), 1f); + Debug.Log(hit.collider.gameObject.name); + //MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + break; + case "接线盒纵向滑块001": + hit.collider.gameObject.transform.DOLocalMove(new Vector3(0.06131744f, -0.0079f, 0.0089f), 1f); + Debug.Log(hit.collider.gameObject.name); + //MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + break; + + case "三相_有互感器_无光伏_接线盒_A相_横向下滑块_正确": + hit.collider.gameObject.transform.DOLocalMove(new Vector3(-0.0404f, -0.0058f, -0.0026f), 1f); + Debug.Log(hit.collider.gameObject.name); + //MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + break; + case "三相_有互感器_无光伏_接线盒_B相_横向下滑块_正确": + hit.collider.gameObject.transform.DOLocalMove(new Vector3(0f, -0.0058f, -0.0026f), 1f); + Debug.Log(hit.collider.gameObject.name); + //MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + break; + case "三相_有互感器_无光伏_接线盒_C相_横向下滑块_正确": + hit.collider.gameObject.transform.DOLocalMove(new Vector3(0.0408f, -0.0058f, -0.0026f), 1f); + Debug.Log(hit.collider.gameObject.name); + //MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + break; + } } } if (AreAllTool()) { - switch (hit.collider.gameObject.name) + if (MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name)) { - case "接线盒纵向滑块001": - hit.collider.gameObject.transform.DOLocalMove(originalPosition[0], 1f); - Debug.Log(hit.collider.gameObject.name); - MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - break; - case "接线盒纵向滑块002": - hit.collider.gameObject.transform.DOLocalMove(originalPosition[1], 1f); - Debug.Log(hit.collider.gameObject.name); - MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - break; - case "接线盒纵向滑块003": - hit.collider.gameObject.transform.DOLocalMove(originalPosition[2], 1f); - Debug.Log(hit.collider.gameObject.name); - MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - break; - case "接线盒纵向滑块004": - hit.collider.gameObject.transform.DOLocalMove(originalPosition[3], 1f); - Debug.Log(hit.collider.gameObject.name); - MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - break; + switch (hit.collider.gameObject.name) + { + case "接线盒纵向滑块001": + hit.collider.gameObject.transform.DOLocalMove(originalPosition[0], 1f); + Debug.Log(hit.collider.gameObject.name); + //MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + break; + case "接线盒纵向滑块002": + hit.collider.gameObject.transform.DOLocalMove(originalPosition[1], 1f); + Debug.Log(hit.collider.gameObject.name); + //MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + break; + case "接线盒纵向滑块003": + hit.collider.gameObject.transform.DOLocalMove(originalPosition[2], 1f); + Debug.Log(hit.collider.gameObject.name); + //MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + break; + case "接线盒纵向滑块004": + hit.collider.gameObject.transform.DOLocalMove(originalPosition[3], 1f); + Debug.Log(hit.collider.gameObject.name); + //MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + break; + } } } diff --git a/SXElectricityInformationAcquisition/Assets/Scenes/鐜板満 _Test.unity b/SXElectricityInformationAcquisition/Assets/Scenes/鐜板満 _Test.unity index 47171070..6953eb23 100644 --- a/SXElectricityInformationAcquisition/Assets/Scenes/鐜板満 _Test.unity +++ b/SXElectricityInformationAcquisition/Assets/Scenes/鐜板満 _Test.unity @@ -11736,6 +11736,14 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 8378556726591945539, guid: 8a244cdd2f00e534aadd2512c3bbfda1, type: 3} + propertyPath: m_LocalPosition.x + value: -0.2719 + objectReference: {fileID: 0} + - target: {fileID: 8378556726591945539, guid: 8a244cdd2f00e534aadd2512c3bbfda1, type: 3} + propertyPath: m_LocalPosition.z + value: -0.0224 + objectReference: {fileID: 0} - target: {fileID: 8499604590529379764, guid: 8a244cdd2f00e534aadd2512c3bbfda1, type: 3} propertyPath: m_Enabled value: 0 @@ -23113,7 +23121,7 @@ Transform: m_GameObject: {fileID: 1268051675} serializedVersion: 2 m_LocalRotation: {x: -0.5000007, y: -0.49999928, z: -0.49999928, w: 0.5000007} - m_LocalPosition: {x: 302.8246, y: 2.8406801, z: 163.17392} + m_LocalPosition: {x: 302.8283, y: 2.8406801, z: 163.17392} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] diff --git a/SXElectricityInformationAcquisition/Assets/Screwdriver.cs b/SXElectricityInformationAcquisition/Assets/Screwdriver.cs index 973a3017..2829a332 100644 --- a/SXElectricityInformationAcquisition/Assets/Screwdriver.cs +++ b/SXElectricityInformationAcquisition/Assets/Screwdriver.cs @@ -168,12 +168,11 @@ public class Screwdriver : MonoBehaviour { //if (EventSystem.current.IsPointerOverGameObject()) // return; - + if (!gameObject.activeSelf) return; if (Ischaiwan == true) { chaiwan(); } - if (Input.GetMouseButtonDown(0)) {//Camera.transform.forward Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); @@ -181,90 +180,117 @@ public class Screwdriver : MonoBehaviour bool raycast = Physics.Raycast(ray, out hit); if (raycast) { - if (hit.collider.gameObject.name == "盖_固定螺丝_Rup") + if (MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name)) { - ScrewdriverTrans.gameObject.transform.SetParent(null); - StartCoroutine(Rscrew()); - Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - } - if (hit.collider.gameObject.name == "固定螺丝_Ldown") - { - ScrewdriverTrans.gameObject.transform.SetParent(null); - StartCoroutine(Lscrew()); - Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - } - if (hit.collider.gameObject.name == "壳固定螺丝_R") - { - ScrewdriverTrans.gameObject.transform.SetParent(null); - Debug.Log(hit.collider.gameObject.name); - StartCoroutine(IERconcentratorScrew()); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - } - if (hit.collider.gameObject.name == "壳固定螺丝_L") - { - ScrewdriverTrans.gameObject.transform.SetParent(null); - Debug.Log(hit.collider.gameObject.name); - StartCoroutine(IELconcentratorScrew()); MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + if (TooslManager.instance.currentTool != null && TooslManager.instance.currentTool.name == "螺丝刀") + { + if (hit.collider.gameObject.name == "盖_固定螺丝_Rup") + { + ScrewdriverTrans.gameObject.transform.SetParent(null); + StartCoroutine(Rscrew()); + Debug.Log(hit.collider.gameObject.name); + } + if (hit.collider.gameObject.name == "固定螺丝_Ldown") + { + //if (MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name)) + //{ + ScrewdriverTrans.gameObject.transform.SetParent(null); + StartCoroutine(Lscrew()); + Debug.Log(hit.collider.gameObject.name); + //} + } + if (hit.collider.gameObject.name == "壳固定螺丝_R") + { + //if (MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name)) + //{ + ScrewdriverTrans.gameObject.transform.SetParent(null); + Debug.Log(hit.collider.gameObject.name); + StartCoroutine(IERconcentratorScrew()); + //} + } + if (hit.collider.gameObject.name == "壳固定螺丝_L") + { + //if (MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name)) + //{ + ScrewdriverTrans.gameObject.transform.SetParent(null); + Debug.Log(hit.collider.gameObject.name); + StartCoroutine(IELconcentratorScrew()); + //} + } + if (hit.collider.gameObject.name == "固定螺丝_Rdown") + { + //if (MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name)) + //{ + + ScrewdriverTrans.gameObject.transform.SetParent(null); + Debug.Log(hit.collider.gameObject.name); + StartCoroutine(right()); + //} + + } + if (hit.collider.gameObject.name == "集电器固定螺丝_Ldown") + { + //if (MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name)) + //{ + ScrewdriverTrans.gameObject.transform.SetParent(null); + Debug.Log(hit.collider.gameObject.name); + StartCoroutine(left()); + //} + + } + } } + for (int i = 0; i < ScrewObj.Length; i++) { if (ScrewObj[i] != null && hit.collider.gameObject.name == ScrewObj[i].name) { - ScrewdriverTrans.gameObject.transform.SetPositionAndRotation(OpenScrewScrewdriverTrans[4].gameObject.transform.position, OpenScrewScrewdriverTrans[4].gameObject.transform.rotation); - ScrewdriverTrans.gameObject.transform.SetParent(null); - Debug.Log(hit.collider.gameObject.name); - ScrewObj[i].gameObject.SetActive(false); - switch (hit.collider.gameObject.name) + if (TooslManager.instance.currentTool != null && TooslManager.instance.currentTool.name == "螺丝刀") { - case "JZQ_螺丝001": + if (MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name)) + { + ScrewdriverTrans.gameObject.transform.SetPositionAndRotation(OpenScrewScrewdriverTrans[4].gameObject.transform.position, OpenScrewScrewdriverTrans[4].gameObject.transform.rotation); + ScrewdriverTrans.gameObject.transform.SetParent(null); + Debug.Log(hit.collider.gameObject.name); ScrewObj[i].gameObject.SetActive(false); - break; - case "JZQ_螺丝0011": - ScrewObj[i].gameObject.SetActive(false); - break; - case "JZQ_螺丝002": - ScrewObj[i].gameObject.SetActive(false); - break; - case "JZQ_螺丝0022": - ScrewObj[i].gameObject.SetActive(false); - break; - case "JZQ_螺丝003": - ScrewObj[i].gameObject.SetActive(false); - break; - case "JZQ_螺丝0033": - ScrewObj[i].gameObject.SetActive(false); - break; - case "JZQ_螺丝004": - ScrewObj[i].gameObject.SetActive(false); - break; - case "JZQ_螺丝0044": - ScrewObj[i].gameObject.SetActive(false); - break; - case "JZQ_螺丝005": - ScrewObj[i].gameObject.SetActive(false); - break; - case "JZQ_螺丝006": - ScrewObj[i].gameObject.SetActive(false); - break; + switch (hit.collider.gameObject.name) + { + case "JZQ_螺丝001": + ScrewObj[i].gameObject.SetActive(false); + break; + case "JZQ_螺丝0011": + ScrewObj[i].gameObject.SetActive(false); + break; + case "JZQ_螺丝002": + ScrewObj[i].gameObject.SetActive(false); + break; + case "JZQ_螺丝0022": + ScrewObj[i].gameObject.SetActive(false); + break; + case "JZQ_螺丝003": + ScrewObj[i].gameObject.SetActive(false); + break; + case "JZQ_螺丝0033": + ScrewObj[i].gameObject.SetActive(false); + break; + case "JZQ_螺丝004": + ScrewObj[i].gameObject.SetActive(false); + break; + case "JZQ_螺丝0044": + ScrewObj[i].gameObject.SetActive(false); + break; + case "JZQ_螺丝005": + ScrewObj[i].gameObject.SetActive(false); + break; + case "JZQ_螺丝006": + ScrewObj[i].gameObject.SetActive(false); + break; + } + } } - MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + } } - if (hit.collider.gameObject.name == "固定螺丝_Rdown") - { - - ScrewdriverTrans.gameObject.transform.SetParent(null); - Debug.Log(hit.collider.gameObject.name); - StartCoroutine(right()); - MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - } - if (hit.collider.gameObject.name == "集电器固定螺丝_Ldown") - { - ScrewdriverTrans.gameObject.transform.SetParent(null); - Debug.Log(hit.collider.gameObject.name); - StartCoroutine(left()); - MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - - } if (AreAllObjectsHidden()) { @@ -278,16 +304,10 @@ public class Screwdriver : MonoBehaviour StartCoroutine(IEConcentratorScrew()); } //集中器螺丝全隐藏后播放电线动画 - if (AreAllObjectsHiddens()/*&& concentrator.isPlayAni*/) + if (AreAllObjectsHiddens() /*&& concentrator.isPlayAni*/) { - //issplit =false; StartCoroutine(ScrewdriverBack()); - ElectricWireSMR.SetBlendShapeWeight(0, 100); - ElectricWireSMR.SetBlendShapeWeight(1, 100); - ElectricWireSMR.SetBlendShapeWeight(2, 100); - ElectricWireSMR.SetBlendShapeWeight(3, 100); - ElectricWireSMR.SetBlendShapeWeight(4, 100); - ElectricWireSMR.SetBlendShapeWeight(5, 100); + ElectricWireBcr.enabled = true; //拆完集中器下端螺丝后才能拆掉集中器后端四颗螺丝 for (int i = 0; i < ConcentratorScrewObj.Length; i++) @@ -357,10 +377,10 @@ public class Screwdriver : MonoBehaviour issplit = true; } - if (!ScrewObj[0].activeInHierarchy && !ScrewObj[1].activeInHierarchy && !ScrewObj[2].activeInHierarchy && !ScrewObj[3].activeInHierarchy && !ScrewObj[4].activeInHierarchy && !ScrewObj[5].activeInHierarchy && !ScrewObj[6].activeInHierarchy && !ScrewObj[7].activeInHierarchy && !ScrewObj[8].activeInHierarchy) - { - Ischaiwan = false; - } + //if (!ScrewObj[0].activeInHierarchy && !ScrewObj[1].activeInHierarchy && !ScrewObj[2].activeInHierarchy && !ScrewObj[3].activeInHierarchy && !ScrewObj[4].activeInHierarchy && !ScrewObj[5].activeInHierarchy && !ScrewObj[6].activeInHierarchy && !ScrewObj[7].activeInHierarchy && !ScrewObj[8].activeInHierarchy) + //{ + // Ischaiwan = false; + //} } //Ischaiwan = false; } @@ -437,7 +457,7 @@ public class Screwdriver : MonoBehaviour { foreach (GameObject obj in ConcentratorScrewObj) { - if (obj.activeInHierarchy) + if (obj != null && obj.activeInHierarchy) { issplit = false; return false; @@ -706,10 +726,13 @@ public class Screwdriver : MonoBehaviour /// IEnumerator IEConcentratorScrew() { - ConcentratorObj.gameObject.transform.DOLocalMove(new Vector3(-0.2719f, 2.24768f, -0.0772f), 0.5f); - yield return new WaitForSeconds(1f); - Destroy(ConcentratorObj.gameObject); - //OldConcentrator.gameObject.SetActive(false); + if (ConcentratorObj.gameObject != null) + { + ConcentratorObj.gameObject.transform.DOLocalMove(new Vector3(-0.2719f, 2.24768f, -0.0772f), 0.5f); + yield return new WaitForSeconds(1f); + //Destroy(ConcentratorObj.gameObject); + OldConcentrator.gameObject.SetActive(false); + } } /// /// 旧的集线器背后右边螺丝 diff --git a/SXElectricityInformationAcquisition/Assets/Scripts/ConsumePowerManager.cs b/SXElectricityInformationAcquisition/Assets/Scripts/ConsumePowerManager.cs index 0c6ee99b..585a7eef 100644 --- a/SXElectricityInformationAcquisition/Assets/Scripts/ConsumePowerManager.cs +++ b/SXElectricityInformationAcquisition/Assets/Scripts/ConsumePowerManager.cs @@ -12,7 +12,7 @@ public class ConsumePowerManager : MonoBehaviour public static ConsumePowerManager Instance; public delegate void OpenLight(); public event OpenLight OnOpenLight; - + private void Awake() { Instance = this; @@ -21,13 +21,13 @@ public class ConsumePowerManager : MonoBehaviour public Button confirmBt; void Start() { - + confirmBt.onClick.AddListener(delegate { MotionEngine.GetModule().HandleClick("涓存椂鐢ㄧ數"); // MotionEngine.GetModule().HandleClick("鐜板満璋冭瘯"); - - OnOpenLight(); + + OnOpenLight?.Invoke(); }); } diff --git a/SXElectricityInformationAcquisition/Assets/Scripts/ToolsPack/ToolsPackWindowItemBtComponent.cs b/SXElectricityInformationAcquisition/Assets/Scripts/ToolsPack/ToolsPackWindowItemBtComponent.cs index 6e3daccb..3bad2ef9 100644 --- a/SXElectricityInformationAcquisition/Assets/Scripts/ToolsPack/ToolsPackWindowItemBtComponent.cs +++ b/SXElectricityInformationAcquisition/Assets/Scripts/ToolsPack/ToolsPackWindowItemBtComponent.cs @@ -68,7 +68,7 @@ namespace ToolsPack MotionEngine.GetModule().DeleteToolsPackWindowItemBts(btName, index); break; } - + MotionEngine.GetModule().GetToolsPackWindowTemp().SetActive(false); }); } diff --git a/SXElectricityInformationAcquisition/Assets/ToolManager.cs b/SXElectricityInformationAcquisition/Assets/ToolManager.cs index 5b368647..4e2118fb 100644 --- a/SXElectricityInformationAcquisition/Assets/ToolManager.cs +++ b/SXElectricityInformationAcquisition/Assets/ToolManager.cs @@ -172,6 +172,7 @@ public class ToolManager : MonoBehaviour //} public void HandleStringEvents(string message) { + TooslManager.instance.currentTool = null; if (generateAreaScript.IsPlayerInArea()) { if (message == "梯子") @@ -198,28 +199,34 @@ public class ToolManager : MonoBehaviour if (message == "剥线钳") { Tool[2].gameObject.SetActive(true); + TooslManager.instance.currentTool = Tool[2]; RetractBtn[0].gameObject.SetActive(true); } if (message == "螺丝刀") { Tool[4].gameObject.SetActive(true); + TooslManager.instance.currentTool = Tool[4]; RetractBtn[2].gameObject.SetActive(true); } if (message == "绝缘胶带") { Tool[5].gameObject.SetActive(true); + TooslManager.instance.currentTool = Tool[5]; RetractBtn[3].gameObject.SetActive(true); } if (message == "l型集中器") { Tool[6].gameObject.SetActive(true); + TooslManager.instance.currentTool = Tool[6]; + return; // RetractBtn[4].gameObject.SetActive(true); } if (message == "盒装封印") { Tool[7].gameObject.SetActive(true); + TooslManager.instance.currentTool = Tool[7]; RetractBtn[4].gameObject.SetActive(true); } diff --git a/SXElectricityInformationAcquisition/Assets/concentrator.cs b/SXElectricityInformationAcquisition/Assets/concentrator.cs index 9b8332cf..4601e684 100644 --- a/SXElectricityInformationAcquisition/Assets/concentrator.cs +++ b/SXElectricityInformationAcquisition/Assets/concentrator.cs @@ -92,10 +92,10 @@ public class concentrator : MonoBehaviour // Update is called once per frame void Update() { - + //if (EventSystem.current.IsPointerOverGameObject()) // return; - + if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); @@ -103,58 +103,62 @@ public class concentrator : MonoBehaviour bool raycast = Physics.Raycast(ray, out hit); if (raycast) { - if (hit.collider.gameObject.name == "新的集中器碰撞") + if (MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name)) { - ConcentratorObj.gameObject.transform.SetParent(null); - StartCoroutine(Newconcentrator()); - Debug.Log(hit.collider.gameObject.name); - MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + if (hit.collider.gameObject.name == "新的集中器碰撞") + { + ConcentratorObj.gameObject.transform.SetParent(null); + StartCoroutine(Newconcentrator()); + 透明盖子封印碰撞R.GetComponent().enabled = true; + 透明盖子封印碰撞L.GetComponent().enabled = true; + Debug.Log(hit.collider.gameObject.name); + } - 透明盖子封印碰撞R.GetComponent().enabled = true; - 透明盖子封印碰撞L.GetComponent().enabled = true; - } + if (TooslManager.instance.currentTool != null && TooslManager.instance.currentTool.name == "螺丝刀") + { + if (hit.collider.gameObject.name == "JZQ_螺丝1") + { + StartCoroutine(TapeBackFrist()); + NewScrewObj[0].GetComponent().enabled = true; + NewScrewObj[1].GetComponent().enabled = true; - if (hit.collider.gameObject.name == "JZQ_螺丝1") - { - StartCoroutine(TapeBackFrist()); - NewScrewObj[0].GetComponent().enabled = true; - NewScrewObj[1].GetComponent().enabled = true; - MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - } - else if (hit.collider.gameObject.name == "JZQ_螺丝2") - { - StartCoroutine(TapeBackSecond()); - NewScrewObj[2].GetComponent().enabled = true; - NewScrewObj[3].GetComponent().enabled = true; - MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - } - else if (hit.collider.gameObject.name == "JZQ_螺丝3") - { - StartCoroutine(TapeBackThird()); - NewScrewObj[4].GetComponent().enabled = true; - NewScrewObj[5].GetComponent().enabled = true; - MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - } - else if (hit.collider.gameObject.name == "JZQ_螺丝4") - { - StartCoroutine(TapeBackFourth()); - NewScrewObj[6].GetComponent().enabled = true; - NewScrewObj[7].GetComponent().enabled = true; - MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - } - else if (hit.collider.gameObject.name == "JZQ_螺丝6") - { - StartCoroutine(TapeBackFifth()); - NewScrewObj[8].GetComponent().enabled = true; - MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - } - else if (hit.collider.gameObject.name == "JZQ_螺丝7") - { - StartCoroutine(TapeBackSixth()); - NewScrewObj[9].GetComponent().enabled = true; - MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + } + else if (hit.collider.gameObject.name == "JZQ_螺丝2") + { + + StartCoroutine(TapeBackSecond()); + NewScrewObj[2].GetComponent().enabled = true; + NewScrewObj[3].GetComponent().enabled = true; + } + else if (hit.collider.gameObject.name == "JZQ_螺丝3") + { + + StartCoroutine(TapeBackThird()); + NewScrewObj[4].GetComponent().enabled = true; + NewScrewObj[5].GetComponent().enabled = true; + } + else if (hit.collider.gameObject.name == "JZQ_螺丝4") + { + + StartCoroutine(TapeBackFourth()); + NewScrewObj[6].GetComponent().enabled = true; + NewScrewObj[7].GetComponent().enabled = true; + } + else if (hit.collider.gameObject.name == "JZQ_螺丝6") + { + + StartCoroutine(TapeBackFifth()); + NewScrewObj[8].GetComponent().enabled = true; + } + else if (hit.collider.gameObject.name == "JZQ_螺丝7") + { + + StartCoroutine(TapeBackSixth()); + NewScrewObj[9].GetComponent().enabled = true; + } + } } // for (int i = 0; i < ScrewObj.Length; i++) diff --git a/SXElectricityInformationAcquisition/Assets/taoruiqi/CompleteOverComponent.cs b/SXElectricityInformationAcquisition/Assets/taoruiqi/CompleteOverComponent.cs index 9fdc9b2c..01ec2906 100644 --- a/SXElectricityInformationAcquisition/Assets/taoruiqi/CompleteOverComponent.cs +++ b/SXElectricityInformationAcquisition/Assets/taoruiqi/CompleteOverComponent.cs @@ -28,21 +28,24 @@ public class CompleteOverComponent : MonoBehaviour switch (MotionEngine.GetModule().GetProcessMode()) { case ProcessMode.Teaching: - text.text = "鏈鏁欏瀹炶鎬诲垎"; + text.text = "鏈鏁欏瀹炶瀹屾垚"; + scoreText.gameObject.SetActive(false); break; case ProcessMode.Training: text.text = "鏈鍩硅瀹炶鎬诲垎"; + scoreText.text = score.ToString(); break; case ProcessMode.Practice: text.text = "鏈缁冧範瀹炶鎬诲垎"; + scoreText.text = score.ToString(); break; case ProcessMode.Assessment: text.text = "鏈鑰冩牳妯″紡鎬诲垎"; + scoreText.text = score.ToString(); break; default: throw new ArgumentOutOfRangeException(); } - scoreText.text=score.ToString(); diff --git a/SXElectricityInformationAcquisition/Assets/taoruiqi/Pliers.cs b/SXElectricityInformationAcquisition/Assets/taoruiqi/Pliers.cs index 67e420c9..5c128699 100644 --- a/SXElectricityInformationAcquisition/Assets/taoruiqi/Pliers.cs +++ b/SXElectricityInformationAcquisition/Assets/taoruiqi/Pliers.cs @@ -117,6 +117,7 @@ public class Pliers : MonoBehaviour //判断在梯子上 if (!Onladder) { + if (!gameObject.activeSelf) return; if (EventSystem.current.IsPointerOverGameObject()) return; @@ -127,44 +128,60 @@ public class Pliers : MonoBehaviour bool raycast = Physics.Raycast(ray, out hit); if (raycast) { - if (hit.collider.gameObject.name == "柜门_封印") + if (TooslManager.instance.currentTool != null && TooslManager.instance.currentTool.name == "剥线钳") { - PliersObj.gameObject.transform.SetParent(null); - StartCoroutine(PliersIE()); - Debug.Log(hit.collider.gameObject.name); - MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - } + if (MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name)) + { + if (hit.collider.gameObject.name == "柜门_封印") + { + PliersObj.gameObject.transform.SetParent(null); + StartCoroutine(PliersIE()); + Debug.Log(hit.collider.gameObject.name); + } - if (hit.collider.gameObject.name == "接线盒_封印R") - { - PliersObj.gameObject.transform.SetParent(null); - StartCoroutine(JunctionBoxRight()); - Debug.Log(hit.collider.gameObject.name); - MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - } - if (hit.collider.gameObject.name == "接线盒_封印L") - { - PliersObj.gameObject.transform.SetParent(null); - StartCoroutine(JunctionBoxLeft()); - Debug.Log(hit.collider.gameObject.name); - MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - } + if (hit.collider.gameObject.name == "接线盒_封印R") + { + //if (MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name)) + //{ - if (hit.collider.gameObject.name == "集中器_封印R") - { - PliersObj.gameObject.transform.SetParent(null); - StartCoroutine(RightRconcentrator()); - Debug.Log(hit.collider.gameObject.name); - MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); - } + PliersObj.gameObject.transform.SetParent(null); + StartCoroutine(JunctionBoxRight()); + Debug.Log(hit.collider.gameObject.name); + //} + } - if (hit.collider.gameObject.name == "集中器_封印_L") - { - PliersObj.gameObject.transform.SetParent(null); - StartCoroutine(LeftRconcentrator()); - Debug.Log(hit.collider.gameObject.name); - MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name); + if (hit.collider.gameObject.name == "接线盒_封印L") + { + //if (MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name)) + //{ + PliersObj.gameObject.transform.SetParent(null); + StartCoroutine(JunctionBoxLeft()); + Debug.Log(hit.collider.gameObject.name); + //} + } + + if (hit.collider.gameObject.name == "集中器_封印R") + { + //if (MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name)) + //{ + PliersObj.gameObject.transform.SetParent(null); + StartCoroutine(RightRconcentrator()); + Debug.Log(hit.collider.gameObject.name); + //} + + } + + if (hit.collider.gameObject.name == "集中器_封印_L") + { + //if (MotionEngine.GetModule().HandleClick(hit.collider.gameObject.name)) + //{ + PliersObj.gameObject.transform.SetParent(null); + StartCoroutine(LeftRconcentrator()); + Debug.Log(hit.collider.gameObject.name); + //} + } + } } } } diff --git a/SXElectricityInformationAcquisition/Assets/taoruiqi/Script/ToolsManager.cs b/SXElectricityInformationAcquisition/Assets/taoruiqi/Script/ToolsManager.cs index 02c8083d..0619a87b 100644 --- a/SXElectricityInformationAcquisition/Assets/taoruiqi/Script/ToolsManager.cs +++ b/SXElectricityInformationAcquisition/Assets/taoruiqi/Script/ToolsManager.cs @@ -37,6 +37,7 @@ public class TooslManager : MonoBehaviour public Transform PlayercameraTrans; public static TooslManager instance; + public GameObject currentTool = null; /// /// 引用Ladder脚本