Skip to content

Commit a54b9aa

Browse files
committed
Fix OAB window default position
1 parent c9eddb2 commit a54b9aa

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

Assets/MicroEngineer/Code/Managers/Manager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ public List<BaseWindow> InitializeWindows()
269269
IsEditorActive = true,
270270
IsFlightActive = false, // Not used
271271
IsMapActive = false, // Not used
272-
EditorRect = new Rect(645, 41, 0, 0), // Top-center of the screen
272+
EditorRect = new Rect(755, 40, 0, 0), // Top-center of the screen
273273
Entries = Entries.Where(entry => entry.Category == MicroEntryCategory.OAB && entry.IsDefault).ToList()
274274
});
275275

Assets/MicroEngineer/Code/UI/StageInfoOABController.cs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,20 @@ public void OnEnable()
4848
BuildFooter();
4949

5050
Root[0].RegisterCallback<PointerUpEvent>(UpdateWindowPosition);
51-
Root[0].transform.position = StageInfoOABWindow.EditorRect.position;
51+
52+
// Handle initial window positioning. Set the position OnGeometryChangedEvent.
53+
EventCallback<GeometryChangedEvent> _positionCallBack = null;
54+
_positionCallBack = evt =>
55+
{
56+
if (evt.newRect.width == 0 || evt.newRect.height == 0)
57+
return;
58+
59+
Root[0].style.left = StageInfoOABWindow.EditorRect.position.x;
60+
Root[0].style.top = StageInfoOABWindow.EditorRect.position.y;
61+
62+
Root[0].UnregisterCallback(_positionCallBack);
63+
};
64+
Root[0].RegisterCallback<GeometryChangedEvent>(_positionCallBack);
5265
}
5366

5467
private void UpdateWindowPosition(PointerUpEvent evt)

0 commit comments

Comments
 (0)