简化连线逻辑
This commit is contained in:
parent
38d4b77d88
commit
4cebccdc13
|
|
@ -170,7 +170,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 23
|
interfaceType: 27
|
||||||
--- !u!65 &31259008
|
--- !u!65 &31259008
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -605,7 +605,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 32
|
interfaceType: 36
|
||||||
--- !u!65 &127228039
|
--- !u!65 &127228039
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -682,6 +682,7 @@ GameObject:
|
||||||
- component: {fileID: 140014611}
|
- component: {fileID: 140014611}
|
||||||
- component: {fileID: 140014614}
|
- component: {fileID: 140014614}
|
||||||
- component: {fileID: 140014615}
|
- component: {fileID: 140014615}
|
||||||
|
- component: {fileID: 140014616}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Manager
|
m_Name: Manager
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
|
|
@ -705,6 +706,16 @@ MonoBehaviour:
|
||||||
point2: {fileID: 0}
|
point2: {fileID: 0}
|
||||||
Tips: {fileID: 1843818177}
|
Tips: {fileID: 1843818177}
|
||||||
TipTexts: {fileID: 328649576}
|
TipTexts: {fileID: 328649576}
|
||||||
|
Models:
|
||||||
|
- {fileID: 430381704085068992}
|
||||||
|
- {fileID: 4300108389634983148}
|
||||||
|
- {fileID: 8667564567584011752}
|
||||||
|
- {fileID: 1844046986138721254}
|
||||||
|
- {fileID: 7006734113389019125}
|
||||||
|
- {fileID: 385327144811188757}
|
||||||
|
- {fileID: 8446424303547330454}
|
||||||
|
- {fileID: 601978073058571682}
|
||||||
|
- {fileID: 229573283299024619}
|
||||||
--- !u!114 &140014612
|
--- !u!114 &140014612
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -712,7 +723,7 @@ MonoBehaviour:
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 140014610}
|
m_GameObject: {fileID: 140014610}
|
||||||
m_Enabled: 1
|
m_Enabled: 0
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: 7bdb490d0652e874091b855aabfa9122, type: 3}
|
m_Script: {fileID: 11500000, guid: 7bdb490d0652e874091b855aabfa9122, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
|
|
@ -826,7 +837,7 @@ MonoBehaviour:
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 140014610}
|
m_GameObject: {fileID: 140014610}
|
||||||
m_Enabled: 1
|
m_Enabled: 0
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: 9de98abaf88316a4da82930a8eb6668e, type: 3}
|
m_Script: {fileID: 11500000, guid: 9de98abaf88316a4da82930a8eb6668e, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
|
|
@ -848,6 +859,38 @@ MonoBehaviour:
|
||||||
manualSaveKey: 286
|
manualSaveKey: 286
|
||||||
manualLoadKey: 290
|
manualLoadKey: 290
|
||||||
debugInfoKey: 292
|
debugInfoKey: 292
|
||||||
|
--- !u!114 &140014616
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 140014610}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 239a36da09e63484eb88aed17b731dea, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
wireMaterial: {fileID: 2100000, guid: 60de1ea540cb9d0488799f6838e98c54, type: 2}
|
||||||
|
wireColor: {r: 1, g: 0, b: 0, a: 1}
|
||||||
|
wireWidth: 0.002
|
||||||
|
enableSnapping: 1
|
||||||
|
snapDistance: 1
|
||||||
|
snapLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 64
|
||||||
|
snapToColliderCenter: 1
|
||||||
|
snapHighlightColor: {r: 0, g: 1, b: 1, a: 1}
|
||||||
|
useCylinderWire: 1
|
||||||
|
cylinderWireMaterial: {fileID: 2100000, guid: 60de1ea540cb9d0488799f6838e98c54, type: 2}
|
||||||
|
cylinderWireDiameter: 0.002
|
||||||
|
cylinderSegments: 8
|
||||||
|
previewMaterial: {fileID: 0}
|
||||||
|
previewColor: {r: 1, g: 0, b: 0, a: 0.5}
|
||||||
|
previewWireDiameter: 0.002
|
||||||
|
deleteKey: 325
|
||||||
|
deleteDetectionRadius: 0.5
|
||||||
|
currentState: 0
|
||||||
--- !u!1 &154209944
|
--- !u!1 &154209944
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -895,7 +938,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 27
|
interfaceType: 32
|
||||||
--- !u!65 &154209947
|
--- !u!65 &154209947
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -1068,7 +1111,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 34
|
interfaceType: 38
|
||||||
--- !u!65 &195981660
|
--- !u!65 &195981660
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -1167,9 +1210,9 @@ RectTransform:
|
||||||
m_Father: {fileID: 1359383648}
|
m_Father: {fileID: 1359383648}
|
||||||
m_RootOrder: 1
|
m_RootOrder: 1
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 101.92045, y: -147.25677}
|
||||||
m_SizeDelta: {x: 160, y: 30}
|
m_SizeDelta: {x: 160, y: 30}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!114 &211242735
|
--- !u!114 &211242735
|
||||||
|
|
@ -1313,7 +1356,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 14
|
interfaceType: 17
|
||||||
--- !u!65 &239612375
|
--- !u!65 &239612375
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -1458,7 +1501,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 16
|
interfaceType: 20
|
||||||
--- !u!65 &309747188
|
--- !u!65 &309747188
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -1966,7 +2009,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 19
|
interfaceType: 23
|
||||||
--- !u!65 &492161853
|
--- !u!65 &492161853
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -2077,7 +2120,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 19
|
interfaceType: 22
|
||||||
--- !u!65 &503603841
|
--- !u!65 &503603841
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -2299,7 +2342,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 34
|
interfaceType: 39
|
||||||
--- !u!65 &517604014
|
--- !u!65 &517604014
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -2487,7 +2530,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 21
|
interfaceType: 24
|
||||||
--- !u!65 &561287913
|
--- !u!65 &561287913
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -3060,9 +3103,9 @@ RectTransform:
|
||||||
m_Father: {fileID: 1359383648}
|
m_Father: {fileID: 1359383648}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 101.92045, y: -15}
|
||||||
m_SizeDelta: {x: 160, y: 30}
|
m_SizeDelta: {x: 160, y: 30}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!114 &809263221
|
--- !u!114 &809263221
|
||||||
|
|
@ -3300,7 +3343,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 42
|
interfaceType: 43
|
||||||
--- !u!1 &853107033 stripped
|
--- !u!1 &853107033 stripped
|
||||||
GameObject:
|
GameObject:
|
||||||
m_CorrespondingSourceObject: {fileID: -5266785677919700964, guid: b11e3115ad4164947957f5e35d5527cf, type: 3}
|
m_CorrespondingSourceObject: {fileID: -5266785677919700964, guid: b11e3115ad4164947957f5e35d5527cf, type: 3}
|
||||||
|
|
@ -3366,7 +3409,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 27
|
interfaceType: 30
|
||||||
--- !u!65 &871829734
|
--- !u!65 &871829734
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -3588,7 +3631,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 23
|
interfaceType: 28
|
||||||
--- !u!65 &925892943
|
--- !u!65 &925892943
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -3699,7 +3742,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 35
|
interfaceType: 40
|
||||||
--- !u!65 &1021607069
|
--- !u!65 &1021607069
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -3810,7 +3853,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 15
|
interfaceType: 18
|
||||||
--- !u!65 &1040294132
|
--- !u!65 &1040294132
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -3909,9 +3952,9 @@ RectTransform:
|
||||||
m_Father: {fileID: 1359383648}
|
m_Father: {fileID: 1359383648}
|
||||||
m_RootOrder: 2
|
m_RootOrder: 2
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 101.92045, y: -279.51355}
|
||||||
m_SizeDelta: {x: 160, y: 30}
|
m_SizeDelta: {x: 160, y: 30}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!114 &1042182378
|
--- !u!114 &1042182378
|
||||||
|
|
@ -4067,6 +4110,10 @@ PrefabInstance:
|
||||||
propertyPath: m_Layer
|
propertyPath: m_Layer
|
||||||
value: 6
|
value: 6
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -7848099655778327179, guid: e908463f3f6b7e54cb2ffaa2e941c53e, type: 3}
|
||||||
|
propertyPath: m_Layer
|
||||||
|
value: 6
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -6880166670635558359, guid: e908463f3f6b7e54cb2ffaa2e941c53e, type: 3}
|
- target: {fileID: -6880166670635558359, guid: e908463f3f6b7e54cb2ffaa2e941c53e, type: 3}
|
||||||
propertyPath: m_Layer
|
propertyPath: m_Layer
|
||||||
value: 6
|
value: 6
|
||||||
|
|
@ -4075,6 +4122,10 @@ PrefabInstance:
|
||||||
propertyPath: m_IsActive
|
propertyPath: m_IsActive
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -3176553419678292264, guid: e908463f3f6b7e54cb2ffaa2e941c53e, type: 3}
|
||||||
|
propertyPath: m_Layer
|
||||||
|
value: 6
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -2578546517966586142, guid: e908463f3f6b7e54cb2ffaa2e941c53e, type: 3}
|
- target: {fileID: -2578546517966586142, guid: e908463f3f6b7e54cb2ffaa2e941c53e, type: 3}
|
||||||
propertyPath: m_Layer
|
propertyPath: m_Layer
|
||||||
value: 6
|
value: 6
|
||||||
|
|
@ -4099,6 +4150,10 @@ PrefabInstance:
|
||||||
propertyPath: m_Layer
|
propertyPath: m_Layer
|
||||||
value: 6
|
value: 6
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8304324904651862010, guid: e908463f3f6b7e54cb2ffaa2e941c53e, type: 3}
|
||||||
|
propertyPath: m_Layer
|
||||||
|
value: 6
|
||||||
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: e908463f3f6b7e54cb2ffaa2e941c53e, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: e908463f3f6b7e54cb2ffaa2e941c53e, type: 3}
|
||||||
--- !u!4 &1045066282 stripped
|
--- !u!4 &1045066282 stripped
|
||||||
|
|
@ -4123,7 +4178,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 41
|
interfaceType: 42
|
||||||
--- !u!65 &1045066285
|
--- !u!65 &1045066285
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -4154,7 +4209,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 43
|
interfaceType: 44
|
||||||
--- !u!65 &1075926906
|
--- !u!65 &1075926906
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -4215,7 +4270,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 18
|
interfaceType: 21
|
||||||
--- !u!65 &1172298546
|
--- !u!65 &1172298546
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -4697,9 +4752,9 @@ RectTransform:
|
||||||
m_Father: {fileID: 1359383648}
|
m_Father: {fileID: 1359383648}
|
||||||
m_RootOrder: 3
|
m_RootOrder: 3
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 101.92045, y: -411.77032}
|
||||||
m_SizeDelta: {x: 160, y: 30}
|
m_SizeDelta: {x: 160, y: 30}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!114 &1307015857
|
--- !u!114 &1307015857
|
||||||
|
|
@ -5028,7 +5083,7 @@ GameObject:
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &1359383648
|
--- !u!224 &1359383648
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -5195,7 +5250,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 33
|
interfaceType: 37
|
||||||
--- !u!65 &1416330996
|
--- !u!65 &1416330996
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -5468,7 +5523,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 25
|
interfaceType: 26
|
||||||
--- !u!65 &1515177978
|
--- !u!65 &1515177978
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -5832,7 +5887,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 28
|
interfaceType: 33
|
||||||
--- !u!65 &1735319914
|
--- !u!65 &1735319914
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -6054,7 +6109,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 25
|
interfaceType: 29
|
||||||
--- !u!65 &1774313875
|
--- !u!65 &1774313875
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -6240,7 +6295,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 29
|
interfaceType: 34
|
||||||
--- !u!65 &1818029208
|
--- !u!65 &1818029208
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -6699,7 +6754,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 26
|
interfaceType: 31
|
||||||
--- !u!65 &2033294238
|
--- !u!65 &2033294238
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -7041,7 +7096,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 16
|
interfaceType: 19
|
||||||
--- !u!65 &2065793936
|
--- !u!65 &2065793936
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -7152,7 +7207,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 31
|
interfaceType: 35
|
||||||
--- !u!65 &2070614957
|
--- !u!65 &2070614957
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -7405,7 +7460,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
m_Script: {fileID: 11500000, guid: 6282401d280c18d488e073bf54edbc11, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interfaceType: 36
|
interfaceType: 41
|
||||||
--- !u!65 &2098517110
|
--- !u!65 &2098517110
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -7757,12 +7812,12 @@ GameObject:
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 3150416692739349881}
|
- component: {fileID: 3150416692739349881}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: xian9
|
m_Name: "AD2\u8FDEIN1"
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!23 &378114153369630115
|
--- !u!23 &378114153369630115
|
||||||
MeshRenderer:
|
MeshRenderer:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -7815,12 +7870,12 @@ GameObject:
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 4271719479381916268}
|
- component: {fileID: 4271719479381916268}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: xian6
|
m_Name: "OUT1\u8FDEIN4"
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!1 &430381704085068992
|
--- !u!1 &430381704085068992
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -7831,12 +7886,12 @@ GameObject:
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 5995273574770118330}
|
- component: {fileID: 5995273574770118330}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: xian1
|
m_Name: "\u8D1F12V\u8FDE\u8D1F12V"
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!4 &435944714890923873 stripped
|
--- !u!4 &435944714890923873 stripped
|
||||||
Transform:
|
Transform:
|
||||||
m_CorrespondingSourceObject: {fileID: 7256217081674647743, guid: d078ca4e433c6f045bccc0dd9acb4fd8, type: 3}
|
m_CorrespondingSourceObject: {fileID: 7256217081674647743, guid: d078ca4e433c6f045bccc0dd9acb4fd8, type: 3}
|
||||||
|
|
@ -7907,7 +7962,7 @@ Transform:
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 919132148175229397}
|
m_GameObject: {fileID: 919132148175229397}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: -13.07}
|
m_LocalPosition: {x: -1.451, y: 0, z: 0.003}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
|
|
@ -7944,12 +7999,12 @@ GameObject:
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 8818355676258105931}
|
- component: {fileID: 8818355676258105931}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: xian8
|
m_Name: "OUT\u8FDEIN1"
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!4 &698346336316105428
|
--- !u!4 &698346336316105428
|
||||||
Transform:
|
Transform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -8341,12 +8396,12 @@ GameObject:
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 698346336316105428}
|
- component: {fileID: 698346336316105428}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: xian4
|
m_Name: "\u96F6V\u8FDEIII"
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!23 &1889257504621397117
|
--- !u!23 &1889257504621397117
|
||||||
MeshRenderer:
|
MeshRenderer:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -9095,12 +9150,12 @@ GameObject:
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 2242849901158410428}
|
- component: {fileID: 2242849901158410428}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: xian2
|
m_Name: "\u6B6312V\u8FDE\u6B6312V"
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!33 &4385593541941988605
|
--- !u!33 &4385593541941988605
|
||||||
MeshFilter:
|
MeshFilter:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -9709,12 +9764,12 @@ GameObject:
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 2446499898162477886}
|
- component: {fileID: 2446499898162477886}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: xian5
|
m_Name: "OUT1\u8FDEIN2_200K"
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!1001 &7115559408580331486
|
--- !u!1001 &7115559408580331486
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -10115,12 +10170,12 @@ GameObject:
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 1947694940705415576}
|
- component: {fileID: 1947694940705415576}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: xian7
|
m_Name: "AD1\u8FDEOUT2"
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!23 &8447598666252558499
|
--- !u!23 &8447598666252558499
|
||||||
MeshRenderer:
|
MeshRenderer:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -10232,12 +10287,12 @@ GameObject:
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 7131730346368750079}
|
- component: {fileID: 7131730346368750079}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: xian3
|
m_Name: "\u96F6V\u8FDEGND"
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!1 &8741073888561617728
|
--- !u!1 &8741073888561617728
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ public class LineManager : MonoBehaviour
|
||||||
public Transform point2;
|
public Transform point2;
|
||||||
public GameObject Tips;
|
public GameObject Tips;
|
||||||
public TextMeshProUGUI TipTexts;
|
public TextMeshProUGUI TipTexts;
|
||||||
|
public List<GameObject> Models = new List<GameObject>();
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
instance = this;
|
instance = this;
|
||||||
|
|
@ -47,12 +48,12 @@ public class LineManager : MonoBehaviour
|
||||||
}
|
}
|
||||||
if (point1 != null && point2 != null)
|
if (point1 != null && point2 != null)
|
||||||
{
|
{
|
||||||
StartCoroutine(Checkconnection(point1, point2));
|
//StartCoroutine(Checkconnection(point1, point2));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
IEnumerator Checkconnection(Transform transform, Transform transform2)
|
public IEnumerator Checkconnection(Transform transform, Transform transform2)
|
||||||
{
|
{
|
||||||
|
|
||||||
LineConnect line = transform.GetComponent<LineConnect>();
|
LineConnect line = transform.GetComponent<LineConnect>();
|
||||||
|
|
@ -76,9 +77,7 @@ public class LineManager : MonoBehaviour
|
||||||
line2.interfaceType == InterfaceType.负12V && line1.interfaceType != InterfaceType.负12V)
|
line2.interfaceType == InterfaceType.负12V && line1.interfaceType != InterfaceType.负12V)
|
||||||
{
|
{
|
||||||
TipTexts.text = "连接错误,-12V应该与-12V相连!";
|
TipTexts.text = "连接错误,-12V应该与-12V相连!";
|
||||||
//WireDrawingSystem.instance.currentState = WireDrawingSystem.DrawingState.Idle;
|
LineShowModel.Instance.DeleteWiresByCollider(line1.gameObject);
|
||||||
WireDrawingSystem.instance.HandleDelete();
|
|
||||||
WireDrawingSystem.instance.ClearSnapPreview();
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (line1.interfaceType == InterfaceType.正12V && line2.interfaceType != InterfaceType.正12V
|
else if (line1.interfaceType == InterfaceType.正12V && line2.interfaceType != InterfaceType.正12V
|
||||||
|
|
@ -86,88 +85,88 @@ public class LineManager : MonoBehaviour
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
TipTexts.text = "连接错误,12V应该与12V相连!";
|
TipTexts.text = "连接错误,12V应该与12V相连!";
|
||||||
//WireDrawingSystem.instance.currentState = WireDrawingSystem.DrawingState.Idle;
|
LineShowModel.Instance.DeleteWiresByCollider(line1.gameObject);
|
||||||
WireDrawingSystem.instance.HandleDelete();
|
|
||||||
WireDrawingSystem.instance.ClearSnapPreview();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else if (line1.interfaceType == InterfaceType.零V && line2.interfaceType != InterfaceType.GND
|
|
||||||
|| line2.interfaceType == InterfaceType.GND && line1.interfaceType != InterfaceType.零V)
|
|
||||||
{
|
|
||||||
TipTexts.text = "连接错误,0V应该与GND相连!";
|
|
||||||
// WireDrawingSystem.instance.currentState = WireDrawingSystem.DrawingState.Idle;
|
|
||||||
WireDrawingSystem.instance.HandleDelete();
|
|
||||||
WireDrawingSystem.instance.ClearSnapPreview();
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
//else if (line1.interfaceType == InterfaceType.零V && line2.interfaceType != InterfaceType.GND
|
||||||
|
// || line2.interfaceType == InterfaceType.GND && line1.interfaceType != InterfaceType.零V)
|
||||||
|
//{
|
||||||
|
// TipTexts.text = "连接错误,0V应该与GND相连!";
|
||||||
|
// // WireDrawingSystem.instance.currentState = WireDrawingSystem.DrawingState.Idle;
|
||||||
|
// //WireDrawingSystem.instance.HandleDelete();
|
||||||
|
// //WireDrawingSystem.instance.ClearSnapPreview();
|
||||||
|
// LineShowModel.Instance.DeleteWiresByCollider(line1.gameObject);
|
||||||
|
// return false;
|
||||||
|
//}
|
||||||
else if (line1.interfaceType == InterfaceType.IN2_200K && line2.interfaceType != InterfaceType.OUT1
|
else if (line1.interfaceType == InterfaceType.IN2_200K && line2.interfaceType != InterfaceType.OUT1
|
||||||
|| line2.interfaceType == InterfaceType.IN2_200K && line1.interfaceType != InterfaceType.OUT1)
|
|| line2.interfaceType == InterfaceType.IN2_200K && line1.interfaceType != InterfaceType.OUT1)
|
||||||
{
|
{
|
||||||
TipTexts.text = "连接错误,200K应该与OUT1相连!";
|
TipTexts.text = "连接错误,200K应该与OUT1相连!";
|
||||||
//WireDrawingSystem.instance.currentState = WireDrawingSystem.DrawingState.Idle;
|
LineShowModel.Instance.DeleteWiresByCollider(line1.gameObject);
|
||||||
WireDrawingSystem.instance.HandleDelete();
|
|
||||||
WireDrawingSystem.instance.ClearSnapPreview();
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (line1.interfaceType == InterfaceType.OUT1 && line2.interfaceType != InterfaceType.IN4
|
else if (line1.interfaceType == InterfaceType.OUT1 && (line2.interfaceType != InterfaceType.IN4&& line2.interfaceType !=InterfaceType.IN2_200K)
|
||||||
|| line2.interfaceType == InterfaceType.OUT1 && line1.interfaceType != InterfaceType.IN4)
|
|| line2.interfaceType == InterfaceType.OUT1 && line1.interfaceType != InterfaceType.IN4)
|
||||||
{
|
{
|
||||||
TipTexts.text = "连接错误,OUT1应该与IN4相连!";
|
TipTexts.text = "连接错误,OUT1应该与IN4相连!";
|
||||||
// WireDrawingSystem.instance.currentState = WireDrawingSystem.DrawingState.Idle;
|
LineShowModel.Instance.DeleteWiresByCollider(line1.gameObject);
|
||||||
WireDrawingSystem.instance.HandleDelete();
|
|
||||||
WireDrawingSystem.instance.ClearSnapPreview();
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (line1.interfaceType == InterfaceType.AD1 && line2.interfaceType != InterfaceType.OUT2
|
else if (line1.interfaceType == InterfaceType.AD1 && line2.interfaceType != InterfaceType.OUT2
|
||||||
|| line2.interfaceType == InterfaceType.AD1 && line1.interfaceType != InterfaceType.OUT2)
|
|| line2.interfaceType == InterfaceType.AD1 && line1.interfaceType != InterfaceType.OUT2)
|
||||||
{
|
{
|
||||||
TipTexts.text = "连接错误,200K应该与OUT1相连!";
|
TipTexts.text = "连接错误,AD1应该与OUT2相连!";
|
||||||
//WireDrawingSystem.instance.currentState = WireDrawingSystem.DrawingState.Idle;
|
LineShowModel.Instance.DeleteWiresByCollider(line1.gameObject);
|
||||||
WireDrawingSystem.instance.HandleDelete();
|
|
||||||
WireDrawingSystem.instance.ClearSnapPreview();
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (line1.interfaceType == InterfaceType.零V && line2.interfaceType != InterfaceType.GND
|
else if ((line1.interfaceType == InterfaceType.零V && (line2.interfaceType != InterfaceType.GND&& line2.interfaceType != InterfaceType.III)
|
||||||
|| line2.interfaceType == InterfaceType.GND && line1.interfaceType != InterfaceType.零V)
|
|| line2.interfaceType == InterfaceType.GND && line1.interfaceType != InterfaceType.零V)
|
||||||
|
)
|
||||||
{
|
{
|
||||||
TipTexts.text = "连接错误,0V应该与GND相连!";
|
TipTexts.text = "连接错误,0V应该与GND相连!";
|
||||||
//WireDrawingSystem.instance.currentState = WireDrawingSystem.DrawingState.Idle;
|
LineShowModel.Instance.DeleteWiresByCollider(line1.gameObject);
|
||||||
WireDrawingSystem.instance.HandleDelete();
|
|
||||||
WireDrawingSystem.instance.ClearSnapPreview();
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (line1.interfaceType == InterfaceType.OUT && line2.interfaceType != InterfaceType.IN1
|
else if (line1.interfaceType == InterfaceType.OUT && line2.interfaceType != InterfaceType.IN1
|
||||||
|| line2.interfaceType == InterfaceType.OUT && line1.interfaceType != InterfaceType.IN1)
|
|| line2.interfaceType == InterfaceType.OUT && line1.interfaceType != InterfaceType.IN1)
|
||||||
{
|
{
|
||||||
TipTexts.text = "连接错误,OUT应该与IN1相连!";
|
TipTexts.text = "连接错误,OUT应该与IN1相连!";
|
||||||
// WireDrawingSystem.instance.currentState = WireDrawingSystem.DrawingState.Idle;
|
LineShowModel.Instance.DeleteWiresByCollider(line1.gameObject);
|
||||||
WireDrawingSystem.instance.HandleDelete();
|
|
||||||
WireDrawingSystem.instance.ClearSnapPreview();
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (line1.interfaceType == InterfaceType.AD2 && line2.interfaceType != InterfaceType.IN1
|
else if (line1.interfaceType == InterfaceType.AD2 && line2.interfaceType != InterfaceType.IN1
|
||||||
|| line2.interfaceType == InterfaceType.AD2 && line1.interfaceType != InterfaceType.IN1)
|
|| line2.interfaceType == InterfaceType.AD2 && line1.interfaceType != InterfaceType.IN1)
|
||||||
{
|
{
|
||||||
TipTexts.text = "连接错误,OUT应该与IN1相连!";
|
TipTexts.text = "连接错误,AD2应该与IN1相连!";
|
||||||
// WireDrawingSystem.instance.currentState = WireDrawingSystem.DrawingState.Idle;
|
LineShowModel.Instance.DeleteWiresByCollider(line1.gameObject);
|
||||||
WireDrawingSystem.instance.HandleDelete();
|
|
||||||
WireDrawingSystem.instance.ClearSnapPreview();
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if ((line1.interfaceType != InterfaceType.AD2 || line1.interfaceType != InterfaceType.OUT || line1.interfaceType != InterfaceType.零V
|
else if ((line1.interfaceType != InterfaceType.AD2 && line1.interfaceType != InterfaceType.OUT && line1.interfaceType != InterfaceType.零V
|
||||||
|| line1.interfaceType != InterfaceType.AD1 || line1.interfaceType != InterfaceType.OUT1 || line1.interfaceType != InterfaceType.IN2_200K ||
|
&& 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
|
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.AD1 && line2.interfaceType != InterfaceType.OUT1 && line2.interfaceType != InterfaceType.IN2_200K &&
|
||||||
line2.interfaceType != InterfaceType.正12V || line2.interfaceType != InterfaceType.负12V))
|
line2.interfaceType != InterfaceType.正12V && line2.interfaceType != InterfaceType.负12V && line2.interfaceType != InterfaceType.OUT2))
|
||||||
{
|
{
|
||||||
TipTexts.text = "连接错误,不需要此连线";
|
TipTexts.text = "连接错误,不需要此连线";
|
||||||
// WireDrawingSystem.instance.currentState = WireDrawingSystem.DrawingState.Idle;
|
// WireDrawingSystem.instance.currentState = WireDrawingSystem.DrawingState.Idle;
|
||||||
WireDrawingSystem.instance.HandleDelete();
|
//WireDrawingSystem.instance.HandleDelete();
|
||||||
WireDrawingSystem.instance.ClearSnapPreview();
|
//WireDrawingSystem.instance.ClearSnapPreview();
|
||||||
|
LineShowModel.Instance.DeleteWiresByCollider(line1.gameObject);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
for (int i = 0; i < Models.Count; i++)
|
||||||
|
{
|
||||||
|
string[] splitname = Models[i].name.Split('连');
|
||||||
|
if (splitname[0] == line1.interfaceType.ToString() && splitname[1] == line2.interfaceType.ToString() ||
|
||||||
|
splitname[0] == line2.interfaceType.ToString() && splitname[1] == line1.interfaceType.ToString())
|
||||||
|
{
|
||||||
|
Models[i].SetActive(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
LineShowModel.Instance.DeleteWiresByCollider(line1.gameObject);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,862 @@
|
||||||
|
using UnityEngine;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
public class LineShowModel : MonoBehaviour
|
||||||
|
{
|
||||||
|
public enum DrawingState
|
||||||
|
{
|
||||||
|
Idle, // 空闲状态
|
||||||
|
SelectingStart, // 选择起点
|
||||||
|
SelectingEnd // 选择终点
|
||||||
|
}
|
||||||
|
|
||||||
|
[Header("连线设置")]
|
||||||
|
public Material wireMaterial;
|
||||||
|
public Color wireColor = Color.red;
|
||||||
|
public float wireWidth = 0.02f;
|
||||||
|
|
||||||
|
[Header("吸附设置")]
|
||||||
|
public bool enableSnapping = true; // 启用吸附功能
|
||||||
|
public float snapDistance = 1.0f; // 吸附距离
|
||||||
|
public LayerMask snapLayers = -1; // 可吸附的层
|
||||||
|
public bool snapToColliderCenter = true; // 吸附到碰撞体中心
|
||||||
|
public Color snapHighlightColor = Color.cyan; // 吸附高亮颜色
|
||||||
|
|
||||||
|
[Header("圆柱体连线设置")]
|
||||||
|
public bool useCylinderWire = true; // 启用圆柱体连线
|
||||||
|
public Material cylinderWireMaterial;
|
||||||
|
public float cylinderWireDiameter = 0.02f;
|
||||||
|
public int cylinderSegments = 8; // 圆柱体面数,影响性能
|
||||||
|
|
||||||
|
[Header("预览设置")]
|
||||||
|
public Material previewMaterial; // 预览线材质
|
||||||
|
public Color previewColor = new Color(1, 1, 1, 0.5f); // 预览线颜色(半透明)
|
||||||
|
public float previewWireDiameter = 0.015f; // 预览线直径
|
||||||
|
|
||||||
|
[Header("删除设置")]
|
||||||
|
public KeyCode deleteKey = KeyCode.Mouse2; // 默认为鼠标右键
|
||||||
|
public float deleteDetectionRadius = 0.5f; // 删除检测半径
|
||||||
|
|
||||||
|
[Header("状态显示")]
|
||||||
|
public DrawingState currentState = DrawingState.Idle;
|
||||||
|
|
||||||
|
// 连线数据
|
||||||
|
private Vector3 startPoint;
|
||||||
|
private Vector3 endPoint;
|
||||||
|
private GameObject currentWireObject;
|
||||||
|
private GameObject previewWireObject; // 预览连线对象
|
||||||
|
|
||||||
|
// 吸附相关
|
||||||
|
private GameObject snapTarget; // 当前吸附目标
|
||||||
|
private Renderer snapTargetRenderer; // 吸附目标的渲染器
|
||||||
|
private Color snapTargetOriginalColor; // 吸附目标原始颜色
|
||||||
|
private bool isSnapTargetHighlighted = false;
|
||||||
|
|
||||||
|
// 存储所有已创建的连线
|
||||||
|
private List<GameObject> allWires = new List<GameObject>();
|
||||||
|
|
||||||
|
// 起点和终点的碰撞体
|
||||||
|
private GameObject startColliderObject;
|
||||||
|
private GameObject endColliderObject;
|
||||||
|
|
||||||
|
// 单例模式,便于外部调用
|
||||||
|
public static LineShowModel Instance { get; private set; }
|
||||||
|
|
||||||
|
void Awake()
|
||||||
|
{
|
||||||
|
// 设置单例
|
||||||
|
if (Instance == null)
|
||||||
|
{
|
||||||
|
Instance = this;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Destroy(gameObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Update()
|
||||||
|
{
|
||||||
|
HandleInput();
|
||||||
|
|
||||||
|
if (currentState == DrawingState.SelectingEnd)
|
||||||
|
{
|
||||||
|
UpdateWirePreview();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 在选择终点状态时检查吸附
|
||||||
|
if (currentState == DrawingState.SelectingEnd && enableSnapping)
|
||||||
|
{
|
||||||
|
CheckForSnapTargets();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ClearSnapHighlight();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandleInput()
|
||||||
|
{
|
||||||
|
if (Input.GetMouseButtonDown(0)) // 左键点击
|
||||||
|
{
|
||||||
|
HandleMouseClick();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Input.GetKeyDown(KeyCode.Escape)) // 取消当前操作
|
||||||
|
{
|
||||||
|
CancelDrawing();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Input.GetKeyDown(deleteKey)) // 删除操作
|
||||||
|
{
|
||||||
|
HandleDelete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandleMouseClick()
|
||||||
|
{
|
||||||
|
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
|
||||||
|
RaycastHit hit;
|
||||||
|
|
||||||
|
// 首先检查是否有吸附目标
|
||||||
|
if (snapTarget != null)
|
||||||
|
{
|
||||||
|
HandleSnapTargetClick();
|
||||||
|
}
|
||||||
|
else if (Physics.Raycast(ray, out hit, Mathf.Infinity, snapLayers))
|
||||||
|
{
|
||||||
|
HandleColliderClick(hit.collider.gameObject, hit.point);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// 如果没有击中任何物体,且不在选择起点状态,则忽略
|
||||||
|
if (currentState == DrawingState.Idle)
|
||||||
|
{
|
||||||
|
Debug.Log("请点击一个碰撞体作为连线起点");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandleSnapTargetClick()
|
||||||
|
{
|
||||||
|
if (snapTarget == null) return;
|
||||||
|
|
||||||
|
switch (currentState)
|
||||||
|
{
|
||||||
|
case DrawingState.Idle:
|
||||||
|
// 选择起点
|
||||||
|
StartNewWire(snapTarget);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case DrawingState.SelectingEnd:
|
||||||
|
// 选择终点
|
||||||
|
CompleteWire(snapTarget);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandleColliderClick(GameObject colliderObject, Vector3 hitPoint)
|
||||||
|
{
|
||||||
|
switch (currentState)
|
||||||
|
{
|
||||||
|
case DrawingState.Idle:
|
||||||
|
// 选择起点
|
||||||
|
StartNewWire(colliderObject);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case DrawingState.SelectingEnd:
|
||||||
|
// 选择终点
|
||||||
|
CompleteWire(colliderObject);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void StartNewWire(GameObject startCollider)
|
||||||
|
{
|
||||||
|
if (startCollider == null) return;
|
||||||
|
|
||||||
|
startColliderObject = startCollider;
|
||||||
|
startPoint = GetObjectCenter(startCollider);
|
||||||
|
currentState = DrawingState.SelectingEnd;
|
||||||
|
|
||||||
|
// 创建预览连线
|
||||||
|
CreatePreviewWire();
|
||||||
|
|
||||||
|
// 高亮起点碰撞体
|
||||||
|
HighlightObject(startCollider);
|
||||||
|
|
||||||
|
Debug.Log($"选择起点: {startCollider.name}");
|
||||||
|
}
|
||||||
|
|
||||||
|
void CompleteWire(GameObject endCollider)
|
||||||
|
{
|
||||||
|
if (endCollider == null || startColliderObject == null) return;
|
||||||
|
|
||||||
|
// 检查是否连接到自身
|
||||||
|
if (endCollider == startColliderObject)
|
||||||
|
{
|
||||||
|
Debug.LogWarning("不能连接到自身!");
|
||||||
|
CancelDrawing();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
endColliderObject = endCollider;
|
||||||
|
endPoint = GetObjectCenter(endCollider);
|
||||||
|
|
||||||
|
// 创建最终的连线
|
||||||
|
GameObject newWire = CreateFinalWire();
|
||||||
|
|
||||||
|
currentState = DrawingState.Idle;
|
||||||
|
|
||||||
|
// 清除预览和高亮
|
||||||
|
ClearPreviewWire();
|
||||||
|
ClearSnapHighlight();
|
||||||
|
|
||||||
|
Debug.Log($"选择终点: {endCollider.name}, 连线完成");
|
||||||
|
|
||||||
|
// 返回新创建的连线对象,供外部使用
|
||||||
|
OnWireCreated?.Invoke(newWire, startColliderObject, endColliderObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CreatePreviewWire()
|
||||||
|
{
|
||||||
|
// 清除之前的预览
|
||||||
|
ClearPreviewWire();
|
||||||
|
|
||||||
|
previewWireObject = new GameObject("PreviewWire");
|
||||||
|
|
||||||
|
if (useCylinderWire)
|
||||||
|
{
|
||||||
|
CreateCylinderPreviewWire();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CreateLineRendererPreviewWire();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CreateCylinderPreviewWire()
|
||||||
|
{
|
||||||
|
// 创建预览圆柱体
|
||||||
|
GameObject cylinder = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
|
||||||
|
cylinder.name = "PreviewCylinder";
|
||||||
|
cylinder.transform.SetParent(previewWireObject.transform);
|
||||||
|
|
||||||
|
// 设置预览材质
|
||||||
|
Renderer renderer = cylinder.GetComponent<Renderer>();
|
||||||
|
if (previewMaterial != null)
|
||||||
|
{
|
||||||
|
renderer.material = previewMaterial;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// 创建默认预览材质
|
||||||
|
Material defaultPreviewMaterial = new Material(Shader.Find("Standard"));
|
||||||
|
defaultPreviewMaterial.color = previewColor;
|
||||||
|
renderer.material = defaultPreviewMaterial;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 初始位置和缩放
|
||||||
|
cylinder.transform.position = startPoint;
|
||||||
|
cylinder.transform.localScale = new Vector3(
|
||||||
|
previewWireDiameter,
|
||||||
|
0.001f, // 初始高度很小
|
||||||
|
previewWireDiameter
|
||||||
|
);
|
||||||
|
|
||||||
|
// 移除碰撞器,避免干扰
|
||||||
|
Destroy(cylinder.GetComponent<Collider>());
|
||||||
|
}
|
||||||
|
|
||||||
|
void CreateLineRendererPreviewWire()
|
||||||
|
{
|
||||||
|
// 使用LineRenderer作为备选预览
|
||||||
|
LineRenderer lr = previewWireObject.AddComponent<LineRenderer>();
|
||||||
|
lr.positionCount = 2;
|
||||||
|
lr.SetPosition(0, startPoint);
|
||||||
|
lr.SetPosition(1, startPoint);
|
||||||
|
|
||||||
|
// 配置LineRenderer
|
||||||
|
if (previewMaterial != null)
|
||||||
|
{
|
||||||
|
lr.material = previewMaterial;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lr.material = new Material(Shader.Find("Sprites/Default"));
|
||||||
|
}
|
||||||
|
|
||||||
|
lr.startColor = previewColor;
|
||||||
|
lr.endColor = previewColor;
|
||||||
|
lr.startWidth = previewWireDiameter;
|
||||||
|
lr.endWidth = previewWireDiameter;
|
||||||
|
lr.useWorldSpace = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void UpdateWirePreview()
|
||||||
|
{
|
||||||
|
if (currentState == DrawingState.SelectingEnd && previewWireObject != null)
|
||||||
|
{
|
||||||
|
Vector3 targetPoint;
|
||||||
|
|
||||||
|
if (snapTarget != null)
|
||||||
|
{
|
||||||
|
targetPoint = GetObjectCenter(snapTarget);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
targetPoint = GetMouseWorldPosition();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (useCylinderWire)
|
||||||
|
{
|
||||||
|
UpdateCylinderPreviewWire(startPoint, targetPoint);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UpdateLineRendererPreviewWire(startPoint, targetPoint);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void UpdateCylinderPreviewWire(Vector3 start, Vector3 end)
|
||||||
|
{
|
||||||
|
Transform cylinderTransform = previewWireObject.transform.Find("PreviewCylinder");
|
||||||
|
if (cylinderTransform == null) return;
|
||||||
|
|
||||||
|
GameObject cylinder = cylinderTransform.gameObject;
|
||||||
|
|
||||||
|
// 计算连线的方向、长度和中点
|
||||||
|
Vector3 direction = end - start;
|
||||||
|
float distance = direction.magnitude;
|
||||||
|
|
||||||
|
if (distance < 0.001f)
|
||||||
|
{
|
||||||
|
// 距离太短,隐藏圆柱体
|
||||||
|
cylinder.transform.localScale = new Vector3(previewWireDiameter, 0.001f, previewWireDiameter);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Vector3 midPoint = (start + end) / 2f;
|
||||||
|
|
||||||
|
// 设置圆柱体的位置和旋转
|
||||||
|
cylinder.transform.position = midPoint;
|
||||||
|
cylinder.transform.up = direction.normalized;
|
||||||
|
|
||||||
|
// 设置圆柱体的缩放
|
||||||
|
cylinder.transform.localScale = new Vector3(
|
||||||
|
previewWireDiameter,
|
||||||
|
distance / 2f,
|
||||||
|
previewWireDiameter
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
void UpdateLineRendererPreviewWire(Vector3 start, Vector3 end)
|
||||||
|
{
|
||||||
|
LineRenderer lr = previewWireObject.GetComponent<LineRenderer>();
|
||||||
|
if (lr != null)
|
||||||
|
{
|
||||||
|
lr.SetPosition(0, start);
|
||||||
|
lr.SetPosition(1, end);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GameObject CreateFinalWire()
|
||||||
|
{
|
||||||
|
if (startColliderObject == null || endColliderObject == null) return null;
|
||||||
|
|
||||||
|
GameObject wireObject = new GameObject($"Wire_{System.DateTime.Now:yyyyMMddHHmmss}");
|
||||||
|
|
||||||
|
if (useCylinderWire)
|
||||||
|
{
|
||||||
|
CreateCylinderWire(wireObject, startPoint, endPoint);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CreateLineRendererWire(wireObject, startPoint, endPoint);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 添加连线数据组件
|
||||||
|
LineShowModelCylinderWireData wireData = wireObject.AddComponent<LineShowModelCylinderWireData>();
|
||||||
|
wireData.startPoint = startPoint;
|
||||||
|
wireData.endPoint = endPoint;
|
||||||
|
wireData.startCollider = startColliderObject;
|
||||||
|
wireData.endCollider = endColliderObject;
|
||||||
|
wireData.wireDiameter = cylinderWireDiameter;
|
||||||
|
wireData.creationTime = System.DateTime.Now;
|
||||||
|
|
||||||
|
// 添加到连线列表
|
||||||
|
allWires.Add(wireObject);
|
||||||
|
StartCoroutine(LineManager.instance.Checkconnection(startColliderObject.transform, endColliderObject.transform));
|
||||||
|
// 重置起点和终点
|
||||||
|
startColliderObject = null;
|
||||||
|
endColliderObject = null;
|
||||||
|
|
||||||
|
return wireObject;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CreateCylinderWire(GameObject wireObject, Vector3 start, Vector3 end)
|
||||||
|
{
|
||||||
|
GameObject cylinder = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
|
||||||
|
cylinder.name = "WireCylinder";
|
||||||
|
cylinder.transform.SetParent(wireObject.transform);
|
||||||
|
|
||||||
|
// 设置材质
|
||||||
|
if (cylinderWireMaterial != null)
|
||||||
|
{
|
||||||
|
Renderer renderer = cylinder.GetComponent<Renderer>();
|
||||||
|
renderer.material = cylinderWireMaterial;
|
||||||
|
}
|
||||||
|
else if (wireMaterial != null)
|
||||||
|
{
|
||||||
|
Renderer renderer = cylinder.GetComponent<Renderer>();
|
||||||
|
renderer.material = wireMaterial;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 计算连线的方向、长度和中点
|
||||||
|
Vector3 direction = end - start;
|
||||||
|
float distance = direction.magnitude;
|
||||||
|
Vector3 midPoint = (start + end) / 2f;
|
||||||
|
|
||||||
|
// 设置圆柱体的位置和旋转
|
||||||
|
cylinder.transform.position = midPoint;
|
||||||
|
cylinder.transform.up = direction.normalized;
|
||||||
|
|
||||||
|
// 设置圆柱体的缩放
|
||||||
|
cylinder.transform.localScale = new Vector3(
|
||||||
|
cylinderWireDiameter,
|
||||||
|
distance / 2f,
|
||||||
|
cylinderWireDiameter
|
||||||
|
);
|
||||||
|
|
||||||
|
// 可选:添加碰撞器
|
||||||
|
if (cylinder.GetComponent<Collider>() != null)
|
||||||
|
{
|
||||||
|
Destroy(cylinder.GetComponent<Collider>());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CreateLineRendererWire(GameObject wireObject, Vector3 start, Vector3 end)
|
||||||
|
{
|
||||||
|
LineRenderer lr = wireObject.AddComponent<LineRenderer>();
|
||||||
|
lr.positionCount = 2;
|
||||||
|
lr.SetPosition(0, start);
|
||||||
|
lr.SetPosition(1, end);
|
||||||
|
|
||||||
|
// 配置LineRenderer
|
||||||
|
if (wireMaterial != null)
|
||||||
|
{
|
||||||
|
lr.material = wireMaterial;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lr.material = new Material(Shader.Find("Sprites/Default"));
|
||||||
|
}
|
||||||
|
|
||||||
|
lr.startColor = wireColor;
|
||||||
|
lr.endColor = wireColor;
|
||||||
|
lr.startWidth = wireWidth;
|
||||||
|
lr.endWidth = wireWidth;
|
||||||
|
lr.useWorldSpace = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ClearPreviewWire()
|
||||||
|
{
|
||||||
|
if (previewWireObject != null)
|
||||||
|
{
|
||||||
|
Destroy(previewWireObject);
|
||||||
|
previewWireObject = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CheckForSnapTargets()
|
||||||
|
{
|
||||||
|
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
|
||||||
|
RaycastHit hit;
|
||||||
|
|
||||||
|
// 清除之前的吸附高亮
|
||||||
|
ClearSnapHighlight();
|
||||||
|
|
||||||
|
// 检查鼠标位置附近是否有可吸附的物体
|
||||||
|
if (Physics.Raycast(ray, out hit, Mathf.Infinity, snapLayers))
|
||||||
|
{
|
||||||
|
GameObject hitObject = hit.collider.gameObject;
|
||||||
|
|
||||||
|
// 跳过起点碰撞体
|
||||||
|
if (hitObject == startColliderObject)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 计算鼠标位置与物体中心的距离
|
||||||
|
Vector3 objectCenter = GetObjectCenter(hitObject);
|
||||||
|
float distance = Vector3.Distance(GetMouseWorldPosition(), objectCenter);
|
||||||
|
|
||||||
|
if (distance <= snapDistance)
|
||||||
|
{
|
||||||
|
// 设置吸附目标
|
||||||
|
snapTarget = hitObject;
|
||||||
|
|
||||||
|
// 高亮显示可吸附的物体
|
||||||
|
HighlightSnapTarget(snapTarget);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Vector3 GetObjectCenter(GameObject obj)
|
||||||
|
{
|
||||||
|
if (obj == null) return Vector3.zero;
|
||||||
|
|
||||||
|
if (snapToColliderCenter)
|
||||||
|
{
|
||||||
|
Collider collider = obj.GetComponent<Collider>();
|
||||||
|
if (collider != null)
|
||||||
|
{
|
||||||
|
return collider.bounds.center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 默认使用变换位置
|
||||||
|
return obj.transform.position;
|
||||||
|
}
|
||||||
|
|
||||||
|
void HighlightSnapTarget(GameObject target)
|
||||||
|
{
|
||||||
|
if (target == null) return;
|
||||||
|
|
||||||
|
snapTargetRenderer = target.GetComponent<Renderer>();
|
||||||
|
if (snapTargetRenderer != null)
|
||||||
|
{
|
||||||
|
// 记录原始颜色
|
||||||
|
snapTargetOriginalColor = snapTargetRenderer.material.color;
|
||||||
|
|
||||||
|
// 设置高亮颜色
|
||||||
|
snapTargetRenderer.material.color = snapHighlightColor;
|
||||||
|
isSnapTargetHighlighted = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void HighlightObject(GameObject obj)
|
||||||
|
{
|
||||||
|
if (obj == null) return;
|
||||||
|
|
||||||
|
Renderer renderer = obj.GetComponent<Renderer>();
|
||||||
|
if (renderer != null)
|
||||||
|
{
|
||||||
|
// 临时高亮物体
|
||||||
|
Color originalColor = renderer.material.color;
|
||||||
|
renderer.material.color = Color.green;
|
||||||
|
|
||||||
|
// 可以在这里添加一个协程来在一段时间后恢复颜色
|
||||||
|
StartCoroutine(RestoreColorAfterDelay(renderer, originalColor, 1.0f));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
IEnumerator RestoreColorAfterDelay(Renderer renderer, Color originalColor, float delay)
|
||||||
|
{
|
||||||
|
yield return new WaitForSeconds(delay);
|
||||||
|
|
||||||
|
if (renderer != null)
|
||||||
|
{
|
||||||
|
renderer.material.color = originalColor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ClearSnapHighlight()
|
||||||
|
{
|
||||||
|
if (snapTargetRenderer != null && isSnapTargetHighlighted)
|
||||||
|
{
|
||||||
|
snapTargetRenderer.material.color = snapTargetOriginalColor;
|
||||||
|
snapTargetRenderer = null;
|
||||||
|
isSnapTargetHighlighted = false;
|
||||||
|
}
|
||||||
|
snapTarget = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void CancelDrawing()
|
||||||
|
{
|
||||||
|
ClearPreviewWire();
|
||||||
|
ClearSnapHighlight();
|
||||||
|
currentState = DrawingState.Idle;
|
||||||
|
|
||||||
|
// 重置起点和终点
|
||||||
|
startColliderObject = null;
|
||||||
|
endColliderObject = null;
|
||||||
|
|
||||||
|
Debug.Log("取消连线操作");
|
||||||
|
}
|
||||||
|
|
||||||
|
Vector3 GetMouseWorldPosition()
|
||||||
|
{
|
||||||
|
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
|
||||||
|
RaycastHit hit;
|
||||||
|
|
||||||
|
// 优先使用吸附目标的位置
|
||||||
|
if (snapTarget != null)
|
||||||
|
{
|
||||||
|
return GetObjectCenter(snapTarget);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 其次使用射线击中的位置
|
||||||
|
if (Physics.Raycast(ray, out hit, Mathf.Infinity, snapLayers))
|
||||||
|
{
|
||||||
|
return hit.point;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果没有击中任何物体,使用默认平面
|
||||||
|
Plane defaultPlane = new Plane(Vector3.up, Vector3.zero);
|
||||||
|
float enter;
|
||||||
|
if (defaultPlane.Raycast(ray, out enter))
|
||||||
|
{
|
||||||
|
return ray.GetPoint(enter);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 最后使用射线上的一个点
|
||||||
|
return ray.origin + ray.direction * 10f;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 公共方法:开始新连线
|
||||||
|
public void StartNewWire()
|
||||||
|
{
|
||||||
|
if (currentState != DrawingState.Idle)
|
||||||
|
{
|
||||||
|
CancelDrawing();
|
||||||
|
}
|
||||||
|
currentState = DrawingState.SelectingStart;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 公共方法:删除所有连线
|
||||||
|
public void ClearAllWires()
|
||||||
|
{
|
||||||
|
foreach (GameObject wire in allWires)
|
||||||
|
{
|
||||||
|
if (wire != null)
|
||||||
|
Destroy(wire);
|
||||||
|
}
|
||||||
|
allWires.Clear();
|
||||||
|
Debug.Log("已清除所有连线");
|
||||||
|
|
||||||
|
// 触发事件
|
||||||
|
OnAllWiresDeleted?.Invoke();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 公共方法:删除最后一个连线
|
||||||
|
public void DeleteLastWire()
|
||||||
|
{
|
||||||
|
if (allWires.Count > 0)
|
||||||
|
{
|
||||||
|
GameObject lastWire = allWires[allWires.Count - 1];
|
||||||
|
DeleteWire(lastWire);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.Log("没有可删除的连线");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 公共方法:删除指定连线
|
||||||
|
public void DeleteWire(GameObject wireObject)
|
||||||
|
{
|
||||||
|
if (wireObject == null) return;
|
||||||
|
|
||||||
|
// 获取连线数据
|
||||||
|
LineShowModelCylinderWireData wireData = wireObject.GetComponent<LineShowModelCylinderWireData>();
|
||||||
|
GameObject startCollider = wireData?.startCollider;
|
||||||
|
GameObject endCollider = wireData?.endCollider;
|
||||||
|
|
||||||
|
// 从列表中移除
|
||||||
|
allWires.Remove(wireObject);
|
||||||
|
|
||||||
|
// 销毁连线对象
|
||||||
|
Destroy(wireObject);
|
||||||
|
|
||||||
|
Debug.Log($"删除连线: {wireObject.name}");
|
||||||
|
|
||||||
|
// 触发事件
|
||||||
|
OnWireDeleted?.Invoke(wireObject, startCollider, endCollider);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 公共方法:根据碰撞体删除连线
|
||||||
|
public void DeleteWiresByCollider(GameObject colliderObject)
|
||||||
|
{
|
||||||
|
List<GameObject> wiresToDelete = new List<GameObject>();
|
||||||
|
|
||||||
|
// 查找所有连接到该碰撞体的连线
|
||||||
|
foreach (GameObject wire in allWires)
|
||||||
|
{
|
||||||
|
LineShowModelCylinderWireData wireData = wire?.GetComponent<LineShowModelCylinderWireData>();
|
||||||
|
if (wireData != null && (wireData.startCollider == colliderObject || wireData.endCollider == colliderObject))
|
||||||
|
{
|
||||||
|
wiresToDelete.Add(wire);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除找到的连线
|
||||||
|
foreach (GameObject wire in wiresToDelete)
|
||||||
|
{
|
||||||
|
DeleteWire(wire);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (wiresToDelete.Count > 0)
|
||||||
|
{
|
||||||
|
Debug.Log($"删除了 {wiresToDelete.Count} 条连接到 {colliderObject.name} 的连线");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 公共方法:根据两个碰撞体删除特定连线
|
||||||
|
public void DeleteWireByColliders(GameObject startCollider, GameObject endCollider)
|
||||||
|
{
|
||||||
|
foreach (GameObject wire in allWires)
|
||||||
|
{
|
||||||
|
LineShowModelCylinderWireData wireData = wire?.GetComponent<LineShowModelCylinderWireData>();
|
||||||
|
if (wireData != null &&
|
||||||
|
((wireData.startCollider == startCollider && wireData.endCollider == endCollider) ||
|
||||||
|
(wireData.startCollider == endCollider && wireData.endCollider == startCollider)))
|
||||||
|
{
|
||||||
|
DeleteWire(wire);
|
||||||
|
Debug.Log($"删除了 {startCollider.name} 和 {endCollider.name} 之间的连线");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Debug.Log($"未找到 {startCollider.name} 和 {endCollider.name} 之间的连线");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 公共方法:设置吸附目标(用于编程控制)
|
||||||
|
public void SetSnapTarget(GameObject target)
|
||||||
|
{
|
||||||
|
if (enableSnapping && target != null)
|
||||||
|
{
|
||||||
|
snapTarget = target;
|
||||||
|
HighlightSnapTarget(target);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 公共方法:清除吸附目标
|
||||||
|
public void ClearSnapTarget()
|
||||||
|
{
|
||||||
|
ClearSnapHighlight();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 公共方法:检查物体是否可以吸附
|
||||||
|
public bool CanSnapToObject(GameObject obj)
|
||||||
|
{
|
||||||
|
if (obj == null) return false;
|
||||||
|
|
||||||
|
// 检查物体是否在可吸附层
|
||||||
|
if (((1 << obj.layer) & snapLayers) == 0) return false;
|
||||||
|
|
||||||
|
// 检查物体是否有碰撞体
|
||||||
|
Collider collider = obj.GetComponent<Collider>();
|
||||||
|
if (collider == null) return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 公共方法:获取所有连线
|
||||||
|
public List<GameObject> GetAllWires()
|
||||||
|
{
|
||||||
|
return new List<GameObject>(allWires);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 公共方法:获取连接到特定碰撞体的所有连线
|
||||||
|
public List<GameObject> GetWiresByCollider(GameObject colliderObject)
|
||||||
|
{
|
||||||
|
List<GameObject> connectedWires = new List<GameObject>();
|
||||||
|
|
||||||
|
foreach (GameObject wire in allWires)
|
||||||
|
{
|
||||||
|
LineShowModelCylinderWireData wireData = wire?.GetComponent<LineShowModelCylinderWireData>();
|
||||||
|
if (wireData != null && (wireData.startCollider == colliderObject || wireData.endCollider == colliderObject))
|
||||||
|
{
|
||||||
|
connectedWires.Add(wire);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return connectedWires;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 公共方法:检查两个碰撞体之间是否有连线
|
||||||
|
public bool AreCollidersConnected(GameObject collider1, GameObject collider2)
|
||||||
|
{
|
||||||
|
foreach (GameObject wire in allWires)
|
||||||
|
{
|
||||||
|
LineShowModelCylinderWireData wireData = wire?.GetComponent<LineShowModelCylinderWireData>();
|
||||||
|
if (wireData != null &&
|
||||||
|
((wireData.startCollider == collider1 && wireData.endCollider == collider2) ||
|
||||||
|
(wireData.startCollider == collider2 && wireData.endCollider == collider1)))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 处理删除操作
|
||||||
|
void HandleDelete()
|
||||||
|
{
|
||||||
|
// 如果正在绘制连线,先取消绘制
|
||||||
|
if (currentState != DrawingState.Idle)
|
||||||
|
{
|
||||||
|
CancelDrawing();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查找鼠标位置附近的连线
|
||||||
|
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
|
||||||
|
RaycastHit hit;
|
||||||
|
|
||||||
|
if (Physics.Raycast(ray, out hit, Mathf.Infinity))
|
||||||
|
{
|
||||||
|
GameObject hitObject = hit.collider.gameObject;
|
||||||
|
|
||||||
|
// 检查是否点击到了连线
|
||||||
|
if (IsWire(hitObject))
|
||||||
|
{
|
||||||
|
DeleteWire(hitObject);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查是否是连线的子物体
|
||||||
|
if (hitObject.transform.parent != null)
|
||||||
|
{
|
||||||
|
GameObject parent = hitObject.transform.parent.gameObject;
|
||||||
|
if (IsWire(parent))
|
||||||
|
{
|
||||||
|
DeleteWire(parent);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果没有找到可删除的对象,尝试删除最后一个连线
|
||||||
|
DeleteLastWire();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查对象是否是连线
|
||||||
|
bool IsWire(GameObject obj)
|
||||||
|
{
|
||||||
|
if (obj == null) return false;
|
||||||
|
|
||||||
|
// 检查是否是连线
|
||||||
|
if (obj.name.StartsWith("Wire_") || obj.GetComponent<LineShowModelCylinderWireData>() != null)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 事件定义
|
||||||
|
public delegate void WireCreatedHandler(GameObject wire, GameObject startCollider, GameObject endCollider);
|
||||||
|
public delegate void WireDeletedHandler(GameObject wire, GameObject startCollider, GameObject endCollider);
|
||||||
|
public delegate void AllWiresDeletedHandler();
|
||||||
|
|
||||||
|
// 事件
|
||||||
|
public static event WireCreatedHandler OnWireCreated;
|
||||||
|
public static event WireDeletedHandler OnWireDeleted;
|
||||||
|
public static event AllWiresDeletedHandler OnAllWiresDeleted;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 239a36da09e63484eb88aed17b731dea
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
// 圆柱体连线数据组件
|
||||||
|
public class LineShowModelCylinderWireData : MonoBehaviour
|
||||||
|
{
|
||||||
|
public Vector3 startPoint;
|
||||||
|
public Vector3 endPoint;
|
||||||
|
public GameObject startCollider;
|
||||||
|
public GameObject endCollider;
|
||||||
|
public float wireDiameter;
|
||||||
|
public System.DateTime creationTime;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c0143d1e349fc9a42a74001b6be63db8
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Loading…
Reference in New Issue