First commit

This commit is contained in:
Misaki
2024-11-02 17:58:52 +09:00
commit e645a5327b
153 changed files with 3729 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
using System;
using UnityEngine;
using UnityEngine.UIElements;
namespace Misaki.GraphView.Editor
{
public enum DockingPosition
{
Left,
Right,
Top,
Bottom
}
internal static class WindowDockingLayout
{
public static void DockToParent(this VisualElement ve, Rect parentLayout, DockingPosition dockingPosition, bool changeSize)
{
var layout = ve.layout;
switch (dockingPosition)
{
case DockingPosition.Left:
ve.style.left = parentLayout.x;
ve.style.top = parentLayout.y;
ve.style.width = layout.width;
ve.style.height = changeSize ? parentLayout.height : layout.height;
break;
case DockingPosition.Right:
ve.style.left = parentLayout.x + parentLayout.width - layout.width;
ve.style.top = parentLayout.y;
ve.style.width = layout.width;
ve.style.height = changeSize ? parentLayout.height : layout.height;
break;
case DockingPosition.Top:
ve.style.left = parentLayout.x;
ve.style.top = parentLayout.y;
ve.style.width = changeSize ? parentLayout.width : layout.width;
ve.style.height = layout.height;
break;
case DockingPosition.Bottom:
ve.style.left = parentLayout.x;
ve.style.top = parentLayout.y + parentLayout.height - layout.height;
ve.style.width = changeSize ? parentLayout.width : layout.width;
ve.style.height = layout.height;
break;
default:
throw new ArgumentOutOfRangeException();
}
}
}
}