From 9974df2012d31e2d086a17bf39e8c288165957ad Mon Sep 17 00:00:00 2001 From: sharlottes Date: Mon, 20 Jun 2022 18:28:58 +0900 Subject: [PATCH] update mindow --- src/informatis/ui/window/UnitWindow.java | 6 +++--- src/informatis/ui/window/Window.java | 8 ++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/informatis/ui/window/UnitWindow.java b/src/informatis/ui/window/UnitWindow.java index be7d839..b73ed72 100644 --- a/src/informatis/ui/window/UnitWindow.java +++ b/src/informatis/ui/window/UnitWindow.java @@ -229,10 +229,10 @@ public class UnitWindow extends Window { Draw.color(Color.white); Draw.alpha(parentAlpha * color.a); BarInfo.BarData data = BarInfo.data.get(index); - getDrawable().draw(x, y, width, height); + data.icon.draw(x, y, width, height); if (!hasMouse() && ScissorStack.push(Tmp.r1.set(ScissorStack.peek().x + x, ScissorStack.peek().y + y, width, height * data.number))) { Draw.color(data.color); - getDrawable().draw(x, y, width, height); + data.icon.draw(x, y, width, height); ScissorStack.pop(); } } @@ -245,7 +245,7 @@ public class UnitWindow extends Window { @Override public void exit(InputEvent event, float x, float y, int pointer, Element fromActor){ - icon.setDrawable(BarInfo.data.get(index).icon); + icon.setDrawable(BarInfo.data.size >= index ? Icon.none : BarInfo.data.get(index).icon); } }); icon.clicked(()->{ diff --git a/src/informatis/ui/window/Window.java b/src/informatis/ui/window/Window.java index b2d3d95..794d1ba 100644 --- a/src/informatis/ui/window/Window.java +++ b/src/informatis/ui/window/Window.java @@ -44,6 +44,14 @@ public class Window extends Table { id = WindowManager.register(this); visible(() -> shown); + + update(() -> { + if(x > Core.graphics.getWidth() - getWidth()/2) setPosition(Core.graphics.getWidth() - getWidth()/2, y); + else if(x < -getWidth()/2) setPosition(-getWidth()/2, y); + + if(y > Core.graphics.getHeight() - getHeight()/2) setPosition(x, Core.graphics.getHeight() - getHeight()/2); + else if(y < -getHeight()/2) setPosition(x, -getHeight()/2); + }); } protected void build(Table t){