Rindro-Sqr/Project/NewTitle/TitleButton.nut

116 lines
3.1 KiB
Plaintext
Raw Normal View History

2026-02-02 13:30:28 +08:00
/*
文件名:TitleButton.nut
路径:Project/NewTitle/TitleButton.nut
创建日期:2026-01-30 04:34
文件用途:
*/
class NewTitleC_Button extends LenheartNewUI_CommonUi {
State = 0;
BaseIdx = 29;
DWidth = null;
Img = null;
Id = 0;
Info = null;
constructor(X, Y, gImg) {
this.DWidth = 121;
this.Img = gImg;
LenheartNewUI_CommonUi.constructor(X, Y, 121, 34);
}
function SetInfo(gId,gInfo) {
this.Id = gId;
this.Info = gInfo;
}
function Show(obj) {
local DownOffset = 0;
//按下
if (isLBDown) {
DownOffset = 1;
}
Img.DrawPng(4, X, Y + DownOffset);
//有信息才绘制
if (Info) {
//是否拥有标识条底
Img.DrawPng(5, X + 35, Y + 26 + DownOffset);
Img.DrawPng(7, X + 35, Y + 26 + DownOffset);
//图标边框
Img.DrawPng(10, X, Y + DownOffset);
//判断是否有初始化图像
if (!NewTitleC_Img_Map.rawin(Info.Icon.img)) {
NewTitleC_Img_Map.rawset(Info.Icon.img, Rindro_Image(Info.Icon.img));
}
NewTitleC_Img_Map[Info.Icon.img].DrawPng(Info.Icon.index, X + 3, Y + 3 + DownOffset);
//名称
L_sq_DrawCode(Info.Name, X + 38, Y + 8 + DownOffset, sq_RGBA(255, 255, 183, 255), 0, 1);
}
if (isInRect) {
Img.DrawPng(8, X, Y + DownOffset);
}
}
}
//复选框
class NewTitleC_SwitchButton extends LenheartNewUI_CommonUi {
State = 0;
ImgIndex = 600;
ImgPath = "interface/lenheartwindowcommon.img";
IsSelected = false;
constructor(X, Y) {
LenheartNewUI_CommonUi.constructor(X, Y, 28, 16);
}
function Show(obj) {
local DownOffset = 0;
if (isLBDown) {
DownOffset = 1;
if (State == 0)
Rindro_Image_GlobalMap["lenheartui"].DrawPng(ImgIndex + 1, X, Y + 1);
if (State == 1)
Rindro_Image_GlobalMap["lenheartui"].DrawPng(ImgIndex + 4, X, Y + 1);
} else if (isInRect) {
if (State == 0)
Rindro_Image_GlobalMap["lenheartui"].DrawPng(ImgIndex + 1, X, Y);
if (State == 1)
Rindro_Image_GlobalMap["lenheartui"].DrawPng(ImgIndex + 4, X, Y);
} else {
if (State == 0)
Rindro_Image_GlobalMap["lenheartui"].DrawPng(ImgIndex, X, Y);
if (State == 1)
Rindro_Image_GlobalMap["lenheartui"].DrawPng(ImgIndex + 3, X, Y);
}
}
//鼠标左键弹起回调
function OnMouseLbUp(MousePos_X, MousePos_Y) {
if (isLBDown) {
if (OnClick) OnClick();
if (OnClickEx) OnClickEx(this);
IsSelected = !IsSelected;
if (IsSelected) State = 1;
else State = 0;
}
isLBDown = false;
}
}
L_Windows_List <- [];
getroottable().rawdelete("LenheartPluginsInitFlag");
getroottable().rawdelete("EventList_Obj")
getroottable().rawdelete("NewTitle_Obj");
getroottable().rawdelete("L_Each_Obj");