DOF/sqr/User/UI/Window/3_Top_tool.nut

109 lines
2.6 KiB
Plaintext

/*
文件名: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);
}
}