diff --git a/GQ_URP/GQ/Assets/Editor/tooltest.cs b/GQ_URP/GQ/Assets/Editor/tooltest.cs new file mode 100644 index 000000000..38dc96694 --- /dev/null +++ b/GQ_URP/GQ/Assets/Editor/tooltest.cs @@ -0,0 +1,114 @@ +using System.Collections; +using System.Collections.Generic; +using Unity.VisualScripting; +using UnityEngine; + +public class tooltest : MonoBehaviour +{ + + public Transform a; + public Transform b; + public List A; + public List B; + + + + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } + + [ContextMenu("粘贴5个脚本(设备)")] + public void Replace5() + { + var b1 = b.AddComponent(); + var b2 = b.AddComponent(); + var b3 = b.AddComponent(); + var b4 = b.AddComponent(); + var b5 = b.AddComponent(); + + UnityEditorInternal.ComponentUtility.CopyComponent(a.GetComponent()); + UnityEditorInternal.ComponentUtility.PasteComponentValues(b1); + + UnityEditorInternal.ComponentUtility.CopyComponent(a.GetComponent()); + UnityEditorInternal.ComponentUtility.PasteComponentValues(b2); + + UnityEditorInternal.ComponentUtility.CopyComponent(a.GetComponent()); + UnityEditorInternal.ComponentUtility.PasteComponentValues(b3); + + UnityEditorInternal.ComponentUtility.CopyComponent(a.GetComponent()); + UnityEditorInternal.ComponentUtility.PasteComponentValues(b4); + + UnityEditorInternal.ComponentUtility.CopyComponent(a.GetComponent()); + UnityEditorInternal.ComponentUtility.PasteComponentValues(b5); + + if (!b.GetComponent()) b.AddComponent(); + } + + [ContextMenu("-----------------------------------------------------------------")] + [ContextMenu("粘贴4个脚本(板卡)")] + public void Replace4() + { + for (int i = 0; i < A.Count; i++) + { + var b1 = B[i].AddComponent(); + //var b2 = B.AddComponent(); + var b3 = B[i].AddComponent(); + var b4 = B[i].AddComponent(); + //var b5 = B.AddComponent(); + var b6 = B[i].AddComponent(); + + UnityEditorInternal.ComponentUtility.CopyComponent(A[i].GetComponent()); + UnityEditorInternal.ComponentUtility.PasteComponentValues(b1); + + //UnityEditorInternal.ComponentUtility.CopyComponent(A.GetComponent()); + //UnityEditorInternal.ComponentUtility.PasteComponentValues(b2); + + UnityEditorInternal.ComponentUtility.CopyComponent(A[i].GetComponent()); + UnityEditorInternal.ComponentUtility.PasteComponentValues(b3); + + UnityEditorInternal.ComponentUtility.CopyComponent(A[i].GetComponent()); + UnityEditorInternal.ComponentUtility.PasteComponentValues(b4); + + //UnityEditorInternal.ComponentUtility.CopyComponent(A.GetComponent()); + //UnityEditorInternal.ComponentUtility.PasteComponentValues(b5); + + UnityEditorInternal.ComponentUtility.CopyComponent(A[i].GetComponent()); + UnityEditorInternal.ComponentUtility.PasteComponentValues(b6); + + if (!B[i].GetComponent()) B[i].AddComponent(); + } + } + + [ContextMenu("-----------------------------------------------------------------")] + [ContextMenu("粘贴2个脚本(端口)")] + public void Replace2() + { + for (int i = 0; i < A.Count; i++) + { + PortQuery b1 = B[i].AddComponent(); + //var b2= B[i].AddComponent<> + UnityEditorInternal.ComponentUtility.CopyComponent(A[i].GetComponent()); + UnityEditorInternal.ComponentUtility.PasteComponentValues(b1); + B[i].position = A[i].position; + B[i].gameObject.layer = 11; + B[i].GetComponent().portList.portPosition = (i + 1).ToString(); + } + } + + [ContextMenu("端口位置排序")] + public void Replace2_() + { + for (int i = 0; i < B.Count; i++) + { + var b1 = B[i].GetComponent(); + b1.portList.portPosition = (i + 1).ToString(); + } + } +} diff --git a/GQ_URP/GQ/Assets/Editor/tooltest.cs.meta b/GQ_URP/GQ/Assets/Editor/tooltest.cs.meta new file mode 100644 index 000000000..108cdc991 --- /dev/null +++ b/GQ_URP/GQ/Assets/Editor/tooltest.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 08598a3519fbad24195f9a93c4b44600 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: