From 8812074f057501b39265463b73913ec55d519898 Mon Sep 17 00:00:00 2001 From: WONIU Date: Tue, 24 Dec 2024 15:58:20 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B6=E9=83=A8=E5=B7=A5=E5=85=B7=E6=9D=A1?= =?UTF-8?q?=E7=AA=97=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sqr/SquirrelFileConfig.cfg | 1 + sqr/User/UI/Window/3_Top_tool.nut | 108 ++++++++++++++++++++++++++++++ sqr/folder-alias.json | 3 + 3 files changed, 112 insertions(+) create mode 100644 sqr/User/UI/Window/3_Top_tool.nut diff --git a/sqr/SquirrelFileConfig.cfg b/sqr/SquirrelFileConfig.cfg index 0f32111..7cabece 100644 --- a/sqr/SquirrelFileConfig.cfg +++ b/sqr/SquirrelFileConfig.cfg @@ -81,6 +81,7 @@ l:\Yosin_Engine\Yosin&Kiwano_DOF\sqr\User\UI\Widget\Text_Button.nut l:\Yosin_Engine\Yosin&Kiwano_DOF\sqr\User\UI\Window\0_Login.nut l:\Yosin_Engine\Yosin&Kiwano_DOF\sqr\User\UI\Window\1_Select_Character.nut l:\Yosin_Engine\Yosin&Kiwano_DOF\sqr\User\UI\Window\2_create_Character.nut +l:\Yosin_Engine\Yosin&Kiwano_DOF\sqr\User\UI\Window\3_Top_tool.nut l:\Yosin_Engine\Yosin&Kiwano_DOF\sqr\User\UI\Window\233_HUD_Message.nut diff --git a/sqr/User/UI/Window/3_Top_tool.nut b/sqr/User/UI/Window/3_Top_tool.nut new file mode 100644 index 0000000..c72b0ff --- /dev/null +++ b/sqr/User/UI/Window/3_Top_tool.nut @@ -0,0 +1,108 @@ +/* +文件名:3_Top_tool.nut +路径:User/UI/Window/3_Top_tool.nut +创建日期:2024-12-21 23:43 +文件用途: 顶部工具条 +*/ + +class _Top_tool extends Yosin_Window { + + //是否为独立窗口 + IsIndependent = false; + + timeTextActor = null; + + constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) { + base.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH); + + //注册绘制 + RegisterDraw(); + //注册控件 + RegisterWidget(); + } + + function RegisterWidget() { + local background = Yosin_EmeStretch(0, 0, 650, 20, "sprite/interface/lenheartwindowcommon.img", 612); + AddUIChild(background); + + local timeBackGround = Yosin_EmeStretch(14, 2, 90, 14, "sprite/interface/lenheartwindowcommon.img", 615); + AddUIChild(timeBackGround); + + + // 时间 + timeTextActor = FontAssetManager.GenerateNormal(getTimeString(), true, { + color = sq_RGBA(200, 195, 169, 255) + }); + timeTextActor.SetPosition(20, 4); + Addchild(timeTextActor); + + // 三角 + local jiao = CL_SpriteObject("sprite/interface/lenheartwindowcommon.img", 622); + jiao.SetPosition(85, 7.5); + Addchild(jiao); + + // 最小化 + local minButton = _Top_tool_Button(576, 1, 22, 16 "sprite/interface/lenheartwindowcommon.img", 618); + AddUIChild(minButton); + // 最大化 + local maxButton = _Top_tool_Button(598, 1, 22, 16 "sprite/interface/lenheartwindowcommon.img", 628); + AddUIChild(maxButton); + // 关闭 + local closeButton = _Top_tool_Button(620, 1, 22, 16 "sprite/interface/lenheartwindowcommon.img", 624); + AddUIChild(closeButton); + + } + + function RegisterDraw() { + + } + + + function getTimeString() { + local date = date(time()); + local timeStr = ""; + if (date.hour >= 12) { + timeStr = "PM " + (date.hour - 12).tostring() + ":" + date.min.tostring(); + }else{ + timeStr = "AM " + date.hour.tostring() + ":" + date.min.tostring(); + } + return timeStr; + } + + + //逻辑入口 + function Proc(Dt) { + SyncPos(X, Y); + base.Proc(Dt); + + if (time() % 60 == 0){ + timeTextActor.SetText(getTimeString()); + } + + } + +} + + +class _Top_tool_Button extends Yosin_BaseButton { + + border = null; + + constructor(X, Y, W, H, Path, Idx) { + base.constructor(X, Y, W, H, Path, Idx); + + border = CL_SpriteObject("sprite/interface/lenheartwindowcommon.img", 623); + Addchild(border); + + } + + //逻辑入口 + function Proc(obj) { + base.Proc(obj); + border.SetVisible(isLBDown); + } + +} + + + diff --git a/sqr/folder-alias.json b/sqr/folder-alias.json index 8e61c3b..2abc671 100644 --- a/sqr/folder-alias.json +++ b/sqr/folder-alias.json @@ -235,5 +235,8 @@ }, "User/Object/Map/MapCamera.nut": { "description": "摄像机类" + }, + "User/UI/Window/3_Top_tool.nut": { + "description": "顶部工具条" } } \ No newline at end of file