-
-
Save anchan828/780b2882aa8b3c9aeb69 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System.Collections.Generic; | |
using System.Linq; | |
using UnityEditor; | |
using UnityEngine; | |
public class Question6_practical : EditorWindow | |
{ | |
private Dictionary<int, Rect> windowRects = new Dictionary<int, Rect>(); | |
[MenuItem("Window/Question6_practical")] | |
static void Open() | |
{ | |
GetWindow<Question6_practical>(); | |
} | |
void OnEnable() | |
{ | |
AddRect(0, 1, 2, 3, 4, 5); | |
} | |
void OnGUI() | |
{ | |
BeginWindows(); | |
for (int i = 0; i < windowRects.Count; i++) | |
{ | |
int windowID = windowRects.Keys.ElementAt(i); | |
windowRects[windowID] = GUI.Window(windowID, windowRects[windowID], (id) => GUI.DragWindow(), windowID.ToString()); | |
if (i != 0) | |
{ | |
int preWindowID = windowRects.Keys.ElementAt(i - 1); | |
DrawLine(windowRects[preWindowID], windowRects[windowID]); | |
} | |
} | |
EndWindows(); | |
} | |
void AddRect(params int[] windowIDs) | |
{ | |
foreach (int windowID in windowIDs) | |
{ | |
windowRects.Add(windowID, new Rect(10 * windowID, 10 * windowID, 100, 100)); | |
} | |
} | |
void DrawLine(Rect start, Rect end) | |
{ | |
Vector2 startPos = new Vector2(start.x + start.width * 0.5f, start.y + start.height * 0.5f); | |
Vector2 endPos = new Vector2(end.x + end.width * 0.5f, end.y + end.height * 0.5f); | |
Handles.color = Color.black; | |
Handles.DrawLine(startPos, endPos); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment