195 lines
6.4 KiB
Plaintext
195 lines
6.4 KiB
Plaintext
/*
|
|
文件名:MarrySystem_OpenAuditoriumList.nut
|
|
路径:Project/MarrySystem/MarrySystem_OpenAuditoriumList.nut
|
|
创建日期:2024-10-05 13:20
|
|
文件用途:打开礼堂列表
|
|
*/
|
|
class LenheartNewUI_MarrySystem_OpenAuditoriumListButton extends LenheartNewUI_CommonUi {
|
|
State = 0;
|
|
BaseIdx = 29;
|
|
DWidth = null;
|
|
Path = null;
|
|
Idx = null;
|
|
Info = null;
|
|
|
|
|
|
constructor(X, Y, W, H, Path, Idx) {
|
|
this.DWidth = W;
|
|
this.Path = Path;
|
|
this.Idx = Idx;
|
|
LenheartNewUI_CommonUi.constructor(X, Y, W, H);
|
|
|
|
}
|
|
|
|
function SetFrame(gPath, gIdx) {
|
|
if (gPath) Path = gPath;
|
|
Idx = gIdx;
|
|
}
|
|
|
|
function Show(obj) {
|
|
//不可用
|
|
if (State == 8) {
|
|
L_sq_DrawImg(Path, Idx + 3, X, Y + 1);
|
|
} else {
|
|
//按下
|
|
if (isLBDown) {
|
|
L_sq_DrawImg(Path, Idx + 2, X, Y);
|
|
}
|
|
//悬停
|
|
else if (isInRect) {
|
|
L_sq_DrawImg(Path, Idx + 1, X, Y);
|
|
}
|
|
//普通
|
|
else {
|
|
L_sq_DrawImg(Path, Idx, X, Y);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
class MarrySystem_OpenAuditoriumListC extends LenheartNewUI_Windows {
|
|
//调试模式
|
|
// DeBugMode = true;
|
|
|
|
//不是窗口
|
|
// NoWindow = true;
|
|
|
|
//是否可见
|
|
Visible = false;
|
|
|
|
//包头
|
|
OP = 20078000;
|
|
|
|
//列表
|
|
List = null;
|
|
|
|
//滚动Flag
|
|
WheelFalg = 0;
|
|
|
|
function Time2Str(Time) {
|
|
if (Time< 0) return "已开始";
|
|
local str = "";
|
|
local minutes = Time / 60;
|
|
local seconds = (Time % 60);
|
|
str += minutes + "分";
|
|
str += seconds + "秒";
|
|
return str;
|
|
}
|
|
|
|
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
|
|
Childrens = [];
|
|
List = {};
|
|
//注册控件
|
|
RegisterWidget();
|
|
|
|
LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
|
|
}
|
|
|
|
function RegisterWidget() {
|
|
//关闭按钮
|
|
local CloseButton = LenheartNewUI_BaseButton(458, 0, 11, 12, "interface/lenheartwindowcommon.img", 276);
|
|
CloseButton.OnClick = function() {
|
|
this.Visible = false;
|
|
}.bindenv(this);
|
|
Childrens.append(CloseButton);
|
|
|
|
for (local i = 0; i< 11; i++) {
|
|
local ButtonBuf = LenheartNewUI_MarrySystem_OpenAuditoriumListButton(412, 112 + (i * 21), 51, 17, "interface2/wedding/weddingcardreceive.img", 7);
|
|
ButtonBuf.Info = i;
|
|
ButtonBuf.OnClickEx = function(Button) {
|
|
local T = {
|
|
op = OP + 15,
|
|
room = List[Button.Info + WheelFalg][0]
|
|
}
|
|
SendPackEx(T);
|
|
CloseWindow();
|
|
}.bindenv(this);
|
|
ButtonBuf.SetCallBackFunc(function(Button) {
|
|
//有索引信息才显示
|
|
if (Button.Info<(List.len() - WheelFalg)) {
|
|
local DrawInfo = List[Button.Info + WheelFalg];
|
|
//绘制举办者名字
|
|
L_sq_DrawCode(DrawInfo[1], Button.X - 330 - LenheartTextClass.GetStringLength(DrawInfo[1]) / 2, Button.Y + 2, sq_RGBA(134, 120, 79, 255), 0, 1);
|
|
L_sq_DrawImg("interface2/wedding/weddingreservationpopupui.img", 1, Button.X - 310, Button.Y + 2);
|
|
L_sq_DrawCode(DrawInfo[5], Button.X - 285, Button.Y + 2, sq_RGBA(134, 120, 79, 255), 0, 1);
|
|
|
|
//绘制频道
|
|
L_sq_DrawCode(DrawInfo[8], Button.X - 186, Button.Y + 2, sq_RGBA(134, 120, 79, 255), 0, 1);
|
|
|
|
//绘制举办时间
|
|
local Time = Sq_Time();
|
|
local TimeStr = Time2Str(DrawInfo[9] - Time);
|
|
L_sq_DrawCode(TimeStr, Button.X - 100 - LenheartTextClass.GetStringLength(TimeStr) / 2, Button.Y + 2, sq_RGBA(134, 120, 79, 255), 0, 1);
|
|
|
|
//绘制人数
|
|
local CountStr = DrawInfo[7].tostring();
|
|
L_sq_DrawCode(CountStr, Button.X - 20 - LenheartTextClass.GetStringLength(CountStr) / 2, Button.Y + 2, sq_RGBA(134, 120, 79, 255), 0, 1);
|
|
|
|
Button.Visible = true;
|
|
} else {
|
|
Button.Visible = false;
|
|
}
|
|
}.bindenv(this));
|
|
Childrens.append(ButtonBuf);
|
|
}
|
|
}
|
|
|
|
//绘制主界面
|
|
function DrawMain(obj) {
|
|
//Item信息框一般为211的宽度
|
|
L_sq_DrawWindow(X, Y + 10, 540 * 0.85, 340 * 0.9, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13);
|
|
L_sq_DrawWindow(X + 6, Y + 19, 528 * 0.85, 47, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13);
|
|
L_sq_DrawWindow(X + 6, Y + 79, 528 * 0.85, 236, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13);
|
|
|
|
//标题栏
|
|
L_sq_DrawButton(X - 1, Y, 466, "interface/lenheartwindowcommon.img", 609, 2, 7);
|
|
|
|
//绘制窗口名字
|
|
L_sq_DrawCode("婚礼礼堂列表", X + 200, Y + 3, sq_RGBA(134, 120, 79, 255), 0, 1);
|
|
|
|
L_sq_DrawImg("interface2/wedding/weddingcardreceive.img", 10, X + 108, Y + 35);
|
|
|
|
sq_DrawBox(X + 10, Y + 87, 198, 17, sq_RGBA(134, 120, 79, 255), 1);
|
|
L_sq_DrawCode("婚礼举办者", X + 80, Y + 90, sq_RGBA(221, 197, 147, 255), 0, 1);
|
|
|
|
sq_DrawBox(X + 210, Y + 87, 40, 17, sq_RGBA(134, 120, 79, 255), 1);
|
|
L_sq_DrawCode("频道", X + 219, Y + 90, sq_RGBA(221, 197, 147, 255), 0, 1);
|
|
|
|
sq_DrawBox(X + 252, Y + 87, 122, 17, sq_RGBA(134, 120, 79, 255), 1);
|
|
L_sq_DrawCode("举办时间", X + 289, Y + 90, sq_RGBA(221, 197, 147, 255), 0, 1);
|
|
|
|
|
|
sq_DrawBox(X + 376, Y + 87, 32, 17, sq_RGBA(134, 120, 79, 255), 1);
|
|
L_sq_DrawCode("人数", X + 380, Y + 90, sq_RGBA(221, 197, 147, 255), 0, 1);
|
|
|
|
sq_DrawBox(X + 410, Y + 87, 54, 17, sq_RGBA(134, 120, 79, 255), 1);
|
|
L_sq_DrawCode("参加婚礼", X + 414, Y + 90, sq_RGBA(221, 197, 147, 255), 0, 1);
|
|
|
|
}
|
|
|
|
function Show(obj) {
|
|
DrawMain(obj);
|
|
LenheartNewUI_Windows.Show(obj);
|
|
|
|
}
|
|
|
|
//逻辑入口
|
|
function Proc(obj) {
|
|
LenheartNewUI_Windows.SyncPos(X, Y);
|
|
}
|
|
|
|
//override
|
|
//鼠标滚轮事件回调
|
|
function OnMouseWheel(Flag, MousePos_X, MousePos_Y) {
|
|
|
|
if (Flag) {
|
|
if (WheelFalg > 0) WheelFalg--;
|
|
} else {
|
|
if (WheelFalg<(List.len() - 11)) WheelFalg++;
|
|
}
|
|
|
|
//调用原生方法
|
|
LenheartNewUI_Windows.OnMouseWheel(Flag, MousePos_X, MousePos_Y);
|
|
}
|
|
|
|
}
|
|
getroottable().rawdelete("MarrySystem_Obj"); |