diff --git a/Assets/Scenes/xianchang.unity b/Assets/Scenes/xianchang.unity index 157f56a..fc944a1 100644 --- a/Assets/Scenes/xianchang.unity +++ b/Assets/Scenes/xianchang.unity @@ -171,6 +171,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 27 + IsNotLine: 0 --- !u!65 &31259008 BoxCollider: m_ObjectHideFlags: 0 @@ -384,6 +385,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 13 + IsNotLine: 0 --- !u!65 &82777332 BoxCollider: m_ObjectHideFlags: 0 @@ -495,6 +497,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 4 + IsNotLine: 0 --- !u!65 &96211648 BoxCollider: m_ObjectHideFlags: 0 @@ -606,6 +609,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 36 + IsNotLine: 1 --- !u!65 &127228039 BoxCollider: m_ObjectHideFlags: 0 @@ -716,6 +720,7 @@ MonoBehaviour: - {fileID: 8446424303547330454} - {fileID: 601978073058571682} - {fileID: 229573283299024619} + - {fileID: 4824165716070450316} --- !u!114 &140014612 MonoBehaviour: m_ObjectHideFlags: 0 @@ -939,6 +944,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 32 + IsNotLine: 1 --- !u!65 &154209947 BoxCollider: m_ObjectHideFlags: 0 @@ -1033,6 +1039,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 15 + IsNotLine: 1 --- !u!1 &189223157 stripped GameObject: m_CorrespondingSourceObject: {fileID: 6501468878996255, guid: e908463f3f6b7e54cb2ffaa2e941c53e, type: 3} @@ -1064,6 +1071,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 16 + IsNotLine: 0 --- !u!1 &195981657 GameObject: m_ObjectHideFlags: 0 @@ -1112,6 +1120,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 38 + IsNotLine: 1 --- !u!65 &195981660 BoxCollider: m_ObjectHideFlags: 0 @@ -1357,6 +1366,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 17 + IsNotLine: 1 --- !u!65 &239612375 BoxCollider: m_ObjectHideFlags: 0 @@ -1502,6 +1512,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 20 + IsNotLine: 1 --- !u!65 &309747188 BoxCollider: m_ObjectHideFlags: 0 @@ -1805,6 +1816,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 7 + IsNotLine: 0 --- !u!65 &380543102 BoxCollider: m_ObjectHideFlags: 0 @@ -2010,6 +2022,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 23 + IsNotLine: 1 --- !u!65 &492161853 BoxCollider: m_ObjectHideFlags: 0 @@ -2121,6 +2134,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 22 + IsNotLine: 1 --- !u!65 &503603841 BoxCollider: m_ObjectHideFlags: 0 @@ -2232,6 +2246,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 12 + IsNotLine: 1 --- !u!65 &512441041 BoxCollider: m_ObjectHideFlags: 0 @@ -2343,6 +2358,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 39 + IsNotLine: 1 --- !u!65 &517604014 BoxCollider: m_ObjectHideFlags: 0 @@ -2531,6 +2547,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 24 + IsNotLine: 1 --- !u!65 &561287913 BoxCollider: m_ObjectHideFlags: 0 @@ -2957,6 +2974,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 8 + IsNotLine: 0 --- !u!1 &769986614 GameObject: m_ObjectHideFlags: 0 @@ -3005,6 +3023,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 11 + IsNotLine: 1 --- !u!65 &769986617 BoxCollider: m_ObjectHideFlags: 0 @@ -3250,6 +3269,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 9 + IsNotLine: 0 --- !u!65 &845795820 BoxCollider: m_ObjectHideFlags: 0 @@ -3344,6 +3364,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 43 + IsNotLine: 0 --- !u!1 &853107033 stripped GameObject: m_CorrespondingSourceObject: {fileID: -5266785677919700964, guid: b11e3115ad4164947957f5e35d5527cf, type: 3} @@ -3410,6 +3431,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 30 + IsNotLine: 1 --- !u!65 &871829734 BoxCollider: m_ObjectHideFlags: 0 @@ -3521,6 +3543,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 10 + IsNotLine: 1 --- !u!65 &900714113 BoxCollider: m_ObjectHideFlags: 0 @@ -3632,6 +3655,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 28 + IsNotLine: 1 --- !u!65 &925892943 BoxCollider: m_ObjectHideFlags: 0 @@ -3743,6 +3767,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 40 + IsNotLine: 1 --- !u!65 &1021607069 BoxCollider: m_ObjectHideFlags: 0 @@ -3854,6 +3879,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 18 + IsNotLine: 1 --- !u!65 &1040294132 BoxCollider: m_ObjectHideFlags: 0 @@ -4179,6 +4205,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 42 + IsNotLine: 0 --- !u!65 &1045066285 BoxCollider: m_ObjectHideFlags: 0 @@ -4210,6 +4237,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 44 + IsNotLine: 0 --- !u!65 &1075926906 BoxCollider: m_ObjectHideFlags: 0 @@ -4223,6 +4251,37 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 0.76161194, y: 0.7243271, z: 0.19907904} m_Center: {x: -0.000015258789, y: 0.0000038146973, z: -0.00000667572} +--- !u!1 &1098063709 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1098063710} + m_Layer: 0 + m_Name: "\u63D2\u5934\u5728\u63D2\u53E3\u7684\u4F4D\u7F6E" + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1098063710 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1098063709} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: -0.293, z: -0.15} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 15 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1172298543 GameObject: m_ObjectHideFlags: 0 @@ -4271,6 +4330,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 21 + IsNotLine: 1 --- !u!65 &1172298546 BoxCollider: m_ObjectHideFlags: 0 @@ -4517,6 +4577,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 5 + IsNotLine: 1 --- !u!65 &1245005138 BoxCollider: m_ObjectHideFlags: 0 @@ -4673,6 +4734,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 14 + IsNotLine: 1 --- !u!1 &1292734983 stripped GameObject: m_CorrespondingSourceObject: {fileID: 6073914910648615971, guid: e908463f3f6b7e54cb2ffaa2e941c53e, type: 3} @@ -4704,6 +4766,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 16 + IsNotLine: 0 --- !u!65 &1303211144 BoxCollider: m_ObjectHideFlags: 0 @@ -5203,6 +5266,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 25 + IsNotLine: 0 --- !u!1 &1416330993 GameObject: m_ObjectHideFlags: 0 @@ -5251,6 +5315,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 37 + IsNotLine: 1 --- !u!65 &1416330996 BoxCollider: m_ObjectHideFlags: 0 @@ -5410,6 +5475,37 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1434276876 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1434276877} + m_Layer: 0 + m_Name: "\u63D2\u5934\u5728\u5730\u4E0A\u7684\u4F4D\u7F6E" + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1434276877 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1434276876} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.0099363, y: -0.377, z: -0.15516374} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 14 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1445656028 PrefabInstance: m_ObjectHideFlags: 0 @@ -5524,6 +5620,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 26 + IsNotLine: 0 --- !u!65 &1515177978 BoxCollider: m_ObjectHideFlags: 0 @@ -5605,6 +5702,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 45 + IsNotLine: 0 --- !u!65 &1615636847 BoxCollider: m_ObjectHideFlags: 0 @@ -5666,6 +5764,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 6 + IsNotLine: 1 --- !u!65 &1678785028 BoxCollider: m_ObjectHideFlags: 0 @@ -5777,6 +5876,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 1 + IsNotLine: 0 --- !u!65 &1720349210 BoxCollider: m_ObjectHideFlags: 0 @@ -5888,6 +5988,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 33 + IsNotLine: 1 --- !u!65 &1735319914 BoxCollider: m_ObjectHideFlags: 0 @@ -5999,6 +6100,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 2 + IsNotLine: 1 --- !u!65 &1767234965 BoxCollider: m_ObjectHideFlags: 0 @@ -6110,6 +6212,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 29 + IsNotLine: 1 --- !u!65 &1774313875 BoxCollider: m_ObjectHideFlags: 0 @@ -6296,6 +6399,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 34 + IsNotLine: 1 --- !u!65 &1818029208 BoxCollider: m_ObjectHideFlags: 0 @@ -6644,6 +6748,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 8 + IsNotLine: 0 --- !u!65 &2020965151 BoxCollider: m_ObjectHideFlags: 0 @@ -6755,6 +6860,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 31 + IsNotLine: 1 --- !u!65 &2033294238 BoxCollider: m_ObjectHideFlags: 0 @@ -7097,6 +7203,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 19 + IsNotLine: 1 --- !u!65 &2065793936 BoxCollider: m_ObjectHideFlags: 0 @@ -7208,6 +7315,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 35 + IsNotLine: 1 --- !u!65 &2070614957 BoxCollider: m_ObjectHideFlags: 0 @@ -7319,6 +7427,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 3 + IsNotLine: 1 --- !u!65 &2085638282 BoxCollider: m_ObjectHideFlags: 0 @@ -7413,6 +7522,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 13 + IsNotLine: 0 --- !u!1 &2098517107 GameObject: m_ObjectHideFlags: 0 @@ -7461,6 +7571,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: interfaceType: 41 + IsNotLine: 1 --- !u!65 &2098517110 BoxCollider: m_ObjectHideFlags: 0 @@ -9209,6 +9320,8 @@ GameObject: - component: {fileID: 7587113396328959638} - component: {fileID: 2960245785289707152} - component: {fileID: 4251157638611693837} + - component: {fileID: 7587113396328959639} + - component: {fileID: 7587113396328959640} m_Layer: 0 m_Name: diannaoxian m_TagString: Untagged @@ -9918,14 +10031,41 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4824165716070450316} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.5589363, y: -0.28709245, z: -0.15816374} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.55893636, y: -0.377, z: -0.15816374} m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 543450652430306159} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &7587113396328959639 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4824165716070450316} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3} + m_Name: + m_EditorClassIdentifier: + interfaceType: 0 + IsNotLine: 0 +--- !u!65 &7587113396328959640 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4824165716070450316} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 2.0035684, y: 9.241698, z: 6.1390786} + m_Center: {x: 12.193081, y: 0, z: 26.267164} --- !u!23 &7977243180361879557 MeshRenderer: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Line/LineConnect.cs b/Assets/Scripts/Line/LineConnect.cs index b4bf846..8239c2f 100644 --- a/Assets/Scripts/Line/LineConnect.cs +++ b/Assets/Scripts/Line/LineConnect.cs @@ -55,6 +55,10 @@ public enum InterfaceType public class LineConnect : MonoBehaviour { public InterfaceType interfaceType = InterfaceType.None; + /// + /// 是否是不需要连接的接口 + /// + public bool IsNotLine = false; private void OnMouseDown() { Debug.Log(transform.name); diff --git a/Assets/Scripts/Line/LineManager.cs b/Assets/Scripts/Line/LineManager.cs index 2ab30c5..e558e07 100644 --- a/Assets/Scripts/Line/LineManager.cs +++ b/Assets/Scripts/Line/LineManager.cs @@ -1,8 +1,12 @@ +using DG.Tweening; +using Newtonsoft.Json; using System; using System.Collections; using System.Collections.Generic; +using System.Drawing; using TMPro; using UnityEngine; +using UnityEngine.Tilemaps; public class LineManager : MonoBehaviour { @@ -12,17 +16,37 @@ public class LineManager : MonoBehaviour public GameObject Tips; public TextMeshProUGUI TipTexts; public List Models = new List(); + LineData lineData = new LineData(); private void Awake() { instance = this; } void Start() { - //// 测试连接 - //TestConnection(InterfaceType.IN1, InterfaceType.OUT1); // 应该正确 - //TestConnection(InterfaceType.IN1, InterfaceType.GND); // 应该错误 - //TestConnection(InterfaceType.正12V, InterfaceType.GND); // 应该正确 - //TestConnection(InterfaceType._1uF_star, InterfaceType._1uF_end); // 应该正确 + Initialization(); + } + private void Initialization() + { + if (PlayerPrefs.GetString("LineData") != "") + { + lineData = JsonConvert.DeserializeObject(PlayerPrefs.GetString("LineData")); + + for (int i = 0; i < lineData.Modelname.Count; i++) + { + for (int j = 0; j < Models.Count; j++) + { + if (lineData.Modelname[i].Contains(Models[j].name)) + { + Models[j].SetActive(true); + } + if (lineData.Modelname[i].Equals(Models[j].name) && Models[j].name.Equals("diannaoxian")) + { + Models[j].transform.DOLocalMove(new Vector3(-0.56f, -0.293f, -0.163f), 0.5f); + } + } + } + + } } void Update() { @@ -30,6 +54,7 @@ public class LineManager : MonoBehaviour { point1 = null; point2 = null; + PlayerPrefs.SetString("LineData", ""); } } /// @@ -38,17 +63,27 @@ public class LineManager : MonoBehaviour /// public void ClickPoint(Transform point) { - if (point1 != null) + //if (point1 != null) + //{ + // point2 = point; + //} + //if (point1 == null) + //{ + // point1 = point; + //} + //if (point1 != null && point2 != null) + //{ + // //StartCoroutine(Checkconnection(point1, point2)); + //} + if (point.name.Equals("diannaoxian")) { - point2 = point; - } - if (point1 == null) - { - point1 = point; - } - if (point1 != null && point2 != null) - { - //StartCoroutine(Checkconnection(point1, point2)); + if (!lineData.Modelname.Contains(point.name)) + { + lineData.Modelname.Add(point.name); + string json = JsonConvert.SerializeObject(lineData); + PlayerPrefs.SetString("LineData", json); + } + point.DOLocalMove(new Vector3(-0.56f, -0.293f, -0.163f), 0.5f); } } @@ -105,7 +140,7 @@ public class LineManager : MonoBehaviour LineShowModel.Instance.DeleteWiresByCollider(line1.gameObject); return false; } - else if (line1.interfaceType == InterfaceType.OUT1 && (line2.interfaceType != InterfaceType.IN4&& line2.interfaceType !=InterfaceType.IN2_200K) + else if (line1.interfaceType == InterfaceType.OUT1 && (line2.interfaceType != InterfaceType.IN4 && line2.interfaceType != InterfaceType.IN2_200K) || line2.interfaceType == InterfaceType.OUT1 && line1.interfaceType != InterfaceType.IN4) { TipTexts.text = "连接错误,OUT1应该与IN4相连!"; @@ -119,7 +154,7 @@ public class LineManager : MonoBehaviour LineShowModel.Instance.DeleteWiresByCollider(line1.gameObject); return false; } - else if ((line1.interfaceType == InterfaceType.零V && (line2.interfaceType != InterfaceType.GND&& line2.interfaceType != InterfaceType.III) + else if ((line1.interfaceType == InterfaceType.零V && (line2.interfaceType != InterfaceType.GND && line2.interfaceType != InterfaceType.III) || line2.interfaceType == InterfaceType.GND && line1.interfaceType != InterfaceType.零V) ) { @@ -141,11 +176,7 @@ public class LineManager : MonoBehaviour LineShowModel.Instance.DeleteWiresByCollider(line1.gameObject); return false; } - else if ((line1.interfaceType != InterfaceType.AD2 && line1.interfaceType != InterfaceType.OUT && line1.interfaceType != InterfaceType.零V - && line1.interfaceType != InterfaceType.AD1 && line1.interfaceType != InterfaceType.OUT2 && line1.interfaceType != InterfaceType.OUT1 && line1.interfaceType != InterfaceType.IN2_200K && - line1.interfaceType != InterfaceType.正12V && line1.interfaceType != InterfaceType.负12V) && (line2.interfaceType != InterfaceType.AD2 && line2.interfaceType != InterfaceType.OUT && line2.interfaceType != InterfaceType.零V - && line2.interfaceType != InterfaceType.AD1 && line2.interfaceType != InterfaceType.OUT1 && line2.interfaceType != InterfaceType.IN2_200K && - line2.interfaceType != InterfaceType.正12V && line2.interfaceType != InterfaceType.负12V && line2.interfaceType != InterfaceType.OUT2)) + else if (line1.IsNotLine == true || line2.IsNotLine == true) { TipTexts.text = "连接错误,不需要此连线"; // WireDrawingSystem.instance.currentState = WireDrawingSystem.DrawingState.Idle; @@ -162,6 +193,12 @@ public class LineManager : MonoBehaviour if (splitname[0] == line1.interfaceType.ToString() && splitname[1] == line2.interfaceType.ToString() || splitname[0] == line2.interfaceType.ToString() && splitname[1] == line1.interfaceType.ToString()) { + if (!lineData.Modelname.Contains(Models[i].name)) + { + lineData.Modelname.Add(Models[i].name); + string json = JsonConvert.SerializeObject(lineData); + PlayerPrefs.SetString("LineData", json); + } Models[i].SetActive(true); } @@ -176,3 +213,8 @@ public class LineManager : MonoBehaviour point1 = null; } } + +public class LineData +{ + public List Modelname = new List(); +}