From 1bff4810e6ddca6f6fabaae5405840873fd3665f Mon Sep 17 00:00:00 2001 From: LaoHuaJi Date: Wed, 18 Jun 2025 17:21:50 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=BF=9B=E4=B8=80=E6=AD=A5=E6=94=B9?= =?UTF-8?q?=E5=96=84Emoji=E7=AA=97=E5=8F=A3=EF=BC=8C=E5=85=81=E8=AE=B8?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E6=9C=80=E5=A4=A7=E8=A1=8C=E6=95=B0?= =?UTF-8?q?=EF=BC=8C=E4=B8=94=E9=81=BF=E5=85=8D=E7=AA=97=E5=8F=A3=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E5=90=8E=E7=9A=84=E5=B0=BA=E5=AF=B8=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/bundles/bundle.properties | 4 +++- assets/bundles/bundle_zh_CN.properties | 8 +++++--- src/mi2u/ui/EmojiMindow.java | 19 +++++++++++++------ src/mi2u/ui/elements/Mindow2.java | 1 + 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/assets/bundles/bundle.properties b/assets/bundles/bundle.properties index af0199c..016937e 100644 --- a/assets/bundles/bundle.properties +++ b/assets/bundles/bundle.properties @@ -62,7 +62,8 @@ ai.config.heal = Heal ai.config.oneTime = One-Time Pick ai.config.logic.ui = Custom UI -emoji.switchDisplay = < Icon / List > +emoji.switchDisplay = \ue811 < Icon / List > +emoji.noResult = [lightgray]\ue815 No Result[] MI2UI.MI2U = MI2U LogicHelper.MI2U = Logic Helper @@ -171,6 +172,7 @@ settings.LogicHelper.autocomplete = Auto Complete settings.LogicHelper.split = Split settings.Emojis.emojiPerRow = Emojis Per Row +settings.Emojis.emojiMaxCol = Max Display Columns settings.mindow.scale = UI Scale diff --git a/assets/bundles/bundle_zh_CN.properties b/assets/bundles/bundle_zh_CN.properties index 3e8a4f8..f857805 100644 --- a/assets/bundles/bundle_zh_CN.properties +++ b/assets/bundles/bundle_zh_CN.properties @@ -55,8 +55,6 @@ minimap.finder.buildRange = 建造范围 minimap.finder.mapRange = 全图 minimap.finder.showBlockNames = 显示方块名称 -emoji.switchDisplay = < 图标 / 列表 > - ai.config.follow = 协助建造 ai.config.autorebuild = 自动重建 ai.config.attack = 攻击敌人 @@ -64,6 +62,9 @@ ai.config.heal = 修理建筑 ai.config.oneTime = 一次性抓取 ai.config.logic.ui = 自定义UI +emoji.switchDisplay = \ue811 < 图标 / 列表 > +emoji.noResult = [lightgray]\ue815 无结果[] + MI2UI.MI2U = MI2U LogicHelper.MI2U = 逻辑辅助 Minimap.MI2U = 小地图 @@ -170,7 +171,8 @@ settings.Minimap.drawUnitOutline = 单位描边量 settings.LogicHelper.autocomplete = 自动补全 settings.LogicHelper.split = 分隔符 -settings.Emojis.emojiPerRow = 每行Emoji数 +settings.Emojis.emojiPerRow = 每行Emoji个数 +settings.Emojis.emojiMaxCol = 最大显示列数 settings.mindow.scale = 窗口缩放 diff --git a/src/mi2u/ui/EmojiMindow.java b/src/mi2u/ui/EmojiMindow.java index 3d77924..fc97dc7 100644 --- a/src/mi2u/ui/EmojiMindow.java +++ b/src/mi2u/ui/EmojiMindow.java @@ -55,7 +55,7 @@ public EmojiMindow() { rebuildEmojiTable(); - titlePane.table(t -> t.button(Iconc.list + " " + bundle.get("emoji.switchDisplay"), Styles.nonet, () -> { + titlePane.table(t -> t.button(bundle.get("emoji.switchDisplay"), Styles.nonet, () -> { listMode = !listMode; rebuild(); }).height(titleButtonSize).update(b -> b.setChecked(listMode)).growX()).grow().minWidth(32f); @@ -83,8 +83,8 @@ public void rebuildEmojiTable(){ } } if (count == 0){ - iconT.center().label(() -> "[lightgray]"+Iconc.cancel + " No Result[]").width(emojiPerRow * 40f).height(40f); - listT.center().label(() -> "[lightgray]"+Iconc.cancel + " No Result[]").width(emojiPerRow * 40f).height(40f); + iconT.center().label(() -> bundle.get("emoji.noResult")).width(emojiPerRow * 40f).height(40f); + listT.center().label(() -> bundle.get("emoji.noResult")).width(emojiPerRow * 40f).height(40f); }else if (count < emojiPerRow){ for (int i = 0; i < emojiPerRow - count; i++){ iconT.image().color(Color.clear).size(40f); @@ -94,8 +94,14 @@ public void rebuildEmojiTable(){ @Override public void setupCont(Table cont){ + int emojiPerRow = settings.getInt("emojiPerRow", 9); + int emojiMaxCol = settings.getInt("emojiMaxCol", 6); + + rebuildEmojiTable(); + cont.clear(); cont.table(t -> { + t.top(); t.table(s -> { s.image(Icon.zoom).size(40f).padLeft(4f); search = s.field(filter, text -> { @@ -105,7 +111,7 @@ public void setupCont(Table cont){ search.setMessageText("@players.search"); }).growX().padRight(8f).row(); - t.pane(listMode ? listT : iconT).maxHeight(Core.graphics.getHeight() / 3f).growX().update(p -> { + t.pane(listMode ? listT : iconT).growX().update(p -> { p.setStyle(Styles.smallPane); p.setScrollingDisabled(true, false); Element e = Core.scene.hit(Core.input.mouseX(), Core.input.mouseY(), true); @@ -115,13 +121,14 @@ public void setupCont(Table cont){ Core.scene.setScrollFocus(null); } }); - }); + }).width(emojiPerRow * 40f + 12f).height(emojiMaxCol * 40f + 48f); } @Override public void initSettings(){ super.initSettings(); - settings.sliderPref("emojiPerRow", 9, 6, 12, 1, i -> "" + i, i -> rebuildEmojiTable()); + settings.sliderPref("emojiPerRow", 9, 6, 12, 1, i -> "" + i, i -> rebuild()); + settings.sliderPref("emojiMaxCol", 6, 2, 12, 1, i -> "" + i, i -> rebuild()); } private void updateEmoji(){ diff --git a/src/mi2u/ui/elements/Mindow2.java b/src/mi2u/ui/elements/Mindow2.java index 9c27922..21ef770 100644 --- a/src/mi2u/ui/elements/Mindow2.java +++ b/src/mi2u/ui/elements/Mindow2.java @@ -119,6 +119,7 @@ public boolean touchDown(InputEvent event, float x, float y, int pointer, KeyCod public void touchDragged(InputEvent event, float x, float y, int pointer){ Vec2 v = localToStageCoordinates(MI2UTmp.v1.set(x, y)).sub(fromx, fromy); dragging = MI2UTmp.v2.set(v).sub(tmpv).len() > 5f; + Log.info(curx ); curx = v.x; cury = v.y; setSnap(v.x, v.y); From 9c3cf8bba996dda488bd683db2c39ac04076f14d Mon Sep 17 00:00:00 2001 From: LaoHuaJi Date: Thu, 19 Jun 2025 23:25:31 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=BB=B6=E6=97=B6=E6=94=B6=E5=9B=9EtitleBa?= =?UTF-8?q?r?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mi2u/ui/elements/Mindow2.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/mi2u/ui/elements/Mindow2.java b/src/mi2u/ui/elements/Mindow2.java index 19ae783..c5cefb9 100644 --- a/src/mi2u/ui/elements/Mindow2.java +++ b/src/mi2u/ui/elements/Mindow2.java @@ -39,10 +39,11 @@ public class Mindow2 extends Table{ public float fromx = 0, fromy = 0, curx = 0, cury = 0; boolean dragging = false; public boolean minimized = false; + public boolean hoverTitle = false; protected Table titleBar = new Table(), titlePane = new Table(Styles.black6); protected Table cont = new Table(); public SettingHandler settings; - protected MI2Utils.IntervalMillis interval = new MI2Utils.IntervalMillis(3); + protected MI2Utils.IntervalMillis interval = new MI2Utils.IntervalMillis(4); public int edgesnap = Align.center; @Nullable public Mindow2 tbSnap, lrSnap; @@ -70,7 +71,7 @@ public void rebuild(){ clear(); setupTitle(); - var c = new MCollapser(titleBar, false).setCollapsed(true, () -> !this.hasMouse() && !minimized).setDirection(false, true).setDuration(0.1f); + var c = new MCollapser(titleBar, false).setCollapsed(true, () -> !hoverTitle && !minimized).setDirection(false, true).setDuration(0.1f); add(c).growX(); //add(titleBar).growX(); row(); @@ -81,6 +82,17 @@ public void rebuild(){ add(cont).growX(); } setTransform(true); + + update(() -> { + if(hasMouse()){ + hoverTitle = true; + interval.reset(3, 0); + }else { + if (interval.check(3, 3000)){ + hoverTitle = false; + } + } + }); } /** From d6a97b25efd0d903f9e57c58309bad11abfaeb2d Mon Sep 17 00:00:00 2001 From: LaoHuaJi Date: Fri, 20 Jun 2025 00:20:03 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=91=83=E5=91=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mi2u/ui/elements/Mindow2.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/mi2u/ui/elements/Mindow2.java b/src/mi2u/ui/elements/Mindow2.java index c5cefb9..a323e99 100644 --- a/src/mi2u/ui/elements/Mindow2.java +++ b/src/mi2u/ui/elements/Mindow2.java @@ -134,7 +134,6 @@ public boolean touchDown(InputEvent event, float x, float y, int pointer, KeyCod public void touchDragged(InputEvent event, float x, float y, int pointer){ Vec2 v = localToStageCoordinates(MI2UTmp.v1.set(x, y)).sub(fromx, fromy); dragging = MI2UTmp.v2.set(v).sub(tmpv).len() > 5f; - Log.info(curx ); curx = v.x; cury = v.y; setSnap(v.x, v.y);