| 
									
										
										
										
											2024-11-15 10:32:19 +08:00
										 |  |  | /* | 
					
						
							|  |  |  | 文件名: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(); | 
					
						
							| 
									
										
										
										
											2025-05-27 21:24:22 +08:00
										 |  |  |                     local TimeStr = Time2Str(DrawInfo[9] - Time); | 
					
						
							| 
									
										
										
										
											2024-11-15 10:32:19 +08:00
										 |  |  |                     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"); |