259 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			259 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | /* | ||
|  | 文件名:FiendwarHallApplyJoin.nut | ||
|  | 路径:Plugins/Fiendwar/FiendwarHallApplyJoin.nut | ||
|  | 创建日期:2024-04-02	12:07 | ||
|  | 文件用途:超时空玩家申请加入攻坚队 | ||
|  | */ | ||
|  | class FiendwarHallApplyJoinC extends LenheartNewUI_Windows { | ||
|  |     //调试模式 | ||
|  |     // DeBugMode = true; | ||
|  | 
 | ||
|  |     //角色对象 | ||
|  |     Charc = null; | ||
|  |     //角色等级 | ||
|  |     Level = "100级"; | ||
|  |     //角色名称 | ||
|  |     Name = "凌众K"; | ||
|  |     //角色职业 | ||
|  |     Job = 0; | ||
|  |     //角色决斗等级 | ||
|  |     PvpLevel = 1; | ||
|  |     //职业名称 | ||
|  |     JobName = "大暗黑天"; | ||
|  |     //角色复活币 | ||
|  |     Coin = "139个"; | ||
|  |     //角色疲劳值 | ||
|  |     Fatigue = "156"; | ||
|  |     //战斗力 | ||
|  |     Combat = "170051206"; | ||
|  |     //通过次数 | ||
|  |     ClearanceCount = 63; | ||
|  |     //玩家世界Session | ||
|  |     PlayerSession = 0; | ||
|  | 
 | ||
|  |     //请求者信息集合 | ||
|  |     RequestJoinTeamArr = null; | ||
|  |     NowSelectJoinIndex = 0; | ||
|  | 
 | ||
|  |     //角色头像集合 | ||
|  |     AvatarArr = null; | ||
|  | 
 | ||
|  |     //初始化Flag | ||
|  |     InitFlag = false; | ||
|  | 
 | ||
|  |     //X Y 裁切开始X Y 裁切结束X  Y | ||
|  |     OffsetArr = [ | ||
|  |         //男鬼剑士 | ||
|  |         [45, 103, 230, 231], | ||
|  |         //女格斗家 | ||
|  |         [56, 102, 235, 279], | ||
|  |         //男神枪手 | ||
|  |         [52, 130, 238, 246], | ||
|  |         //女魔法师 | ||
|  |         [55, 87, 234, 293], | ||
|  |         //男圣职者 | ||
|  |         [42, 115, 223, 200], | ||
|  |         //女神枪手 | ||
|  |         [52, 119, 226, 209], | ||
|  |         //暗夜使者 | ||
|  |         [56, 102, 225, 226], | ||
|  |         //男格斗家 | ||
|  |         [50, 114, 239, 216], | ||
|  |         //男魔法师 | ||
|  |         [54, 103, 236, 276], | ||
|  |         //黑暗武士 | ||
|  |         [46, 102, 229, 232], | ||
|  |         //缔造者 | ||
|  |         [56, 86, 235, 293], | ||
|  |     ] | ||
|  | 
 | ||
|  |     constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) { | ||
|  |         Childrens = []; | ||
|  |         RequestJoinTeamArr = []; | ||
|  | 
 | ||
|  |         LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH); | ||
|  |     } | ||
|  | 
 | ||
|  |     function InitInfo() { | ||
|  |         local InfoObj = RequestJoinTeamArr[NowSelectJoinIndex]; | ||
|  |         Charc = InfoObj.Charc; | ||
|  |         //角色等级 | ||
|  |         Level = InfoObj.Level; | ||
|  |         //角色名称 | ||
|  |         Name = InfoObj.Name; | ||
|  |         //角色职业 | ||
|  |         Job = InfoObj.Job; | ||
|  |         //角色决斗等级 | ||
|  |         PvpLevel = InfoObj.PvpLevel; | ||
|  |         //职业名称 | ||
|  |         JobName = InfoObj.JobName; | ||
|  |         //角色复活币 | ||
|  |         Coin = InfoObj.Coin + "个"; | ||
|  |         //角色疲劳值 | ||
|  |         Fatigue = InfoObj.Fatigue.tostring(); | ||
|  |         //战斗力 | ||
|  |         Combat = InfoObj.Combat; | ||
|  |         //通过次数 | ||
|  |         ClearanceCount = InfoObj.ClearanceCount; | ||
|  |         //头像 | ||
|  |         AvatarArr = InfoObj.AvatarArr; | ||
|  |         //玩家世界Session | ||
|  |         this.PlayerSession = InfoObj.PlayerSession; | ||
|  | 
 | ||
|  |         Childrens = []; | ||
|  |         //注册控件 | ||
|  |         RegisterWidget(); | ||
|  |         InitFlag = true; | ||
|  |     } | ||
|  | 
 | ||
|  |     function PopOne() { | ||
|  |         if (RequestJoinTeamArr.len() > 1) { | ||
|  |             RequestJoinTeamArr.remove(0); | ||
|  |             InitInfo(); | ||
|  |         } else { | ||
|  |             RequestJoinTeamArr = []; | ||
|  |             CloseWindow(); | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     function RegisterWidget() { | ||
|  |         //关闭按钮 | ||
|  |         local CloseButton = LenheartNewUI_BaseButton(244, 0, 11, 12, "interface/lenheartwindowcommon.img", 276); | ||
|  |         CloseButton.OnClick = function() { | ||
|  |             PopOne(); | ||
|  |         }.bindenv(this); | ||
|  |         AddChild(CloseButton); | ||
|  | 
 | ||
|  |         //冒险团按钮 | ||
|  |         local MButton = LenheartNewUI_ButtonText(24, 114, 15, "冒险团信息"); | ||
|  |         MButton.SetTextOffset(-13, 2); | ||
|  |         AddChild(MButton); | ||
|  |         //冒险图鉴按钮 | ||
|  |         local FQButton = LenheartNewUI_ButtonText(95, 113, 15, "冒险图鉴"); | ||
|  |         FQButton.State = 8; | ||
|  |         FQButton.SetTextOffset(-7, 2); | ||
|  |         AddChild(FQButton); | ||
|  |         //查看信息按钮 | ||
|  |         local CButton = LenheartNewUI_ButtonText(166, 114, 15, "查看信息"); | ||
|  |         CButton.SetTextOffset(-7, 2); | ||
|  |         CButton.OnClick = function() { | ||
|  |             local obj = sq_GetMyMasterCharacter(); | ||
|  |             // obj.sq_PlaySound("CLICK_BUTTON1"); | ||
|  |             L_sq_SendPackType(8); | ||
|  |             L_sq_SendPackWord(this.PlayerSession); | ||
|  |             L_sq_SendPackByte(3); | ||
|  |             L_sq_SendPack(); | ||
|  |             getroottable().WindowsShowABFlag <- false; //让原生窗口置顶 | ||
|  |         }.bindenv(this); | ||
|  |         AddChild(CButton); | ||
|  | 
 | ||
|  |         //确认按钮 | ||
|  |         local OkButton = LenheartNewUI_ButtonText(74, 192, -1, "是"); | ||
|  |         OkButton.SetTextOffset(3, 2); | ||
|  |         OkButton.OnClick = function() { | ||
|  |             local T = { | ||
|  |                 op = 20063003, | ||
|  |                 teamsId = RinDro_Anton_Obj.MyRaidTeamId, | ||
|  |                 charac = Charc | ||
|  |             } | ||
|  |             Rindro_BaseToolClass.SendPackEx(T); | ||
|  |             PopOne(); | ||
|  |         }.bindenv(this); | ||
|  |         AddChild(OkButton); | ||
|  |         //拒绝按钮 | ||
|  |         local NoButton = LenheartNewUI_ButtonText(130, 192, -1, "否"); | ||
|  |         NoButton.SetTextOffset(3, 2); | ||
|  |         NoButton.OnClick = function() { | ||
|  |             local T = { | ||
|  |                 op = 20063019, | ||
|  |                 charac = Charc.CID | ||
|  |             } | ||
|  |             Rindro_BaseToolClass.SendPackEx(T); | ||
|  |             PopOne(); | ||
|  |         }.bindenv(this); | ||
|  |         AddChild(NoButton); | ||
|  | 
 | ||
|  |         //左翻页按钮 | ||
|  |         local LeftButton = LenheartNewUI_BaseButton(90, 220, 15, 15, "interface/lenheartwindowcommon.img", 34); | ||
|  |         LeftButton.OnClick = function() { | ||
|  |             if (NowSelectJoinIndex > 0) NowSelectJoinIndex--; | ||
|  |             InitInfo(); | ||
|  |         }.bindenv(this); | ||
|  |         AddChild(LeftButton); | ||
|  | 
 | ||
|  |         //右翻页按钮 | ||
|  |         local RightButton = LenheartNewUI_BaseButton(154, 220, 15, 15, "interface/lenheartwindowcommon.img", 38); | ||
|  |         RightButton.OnClick = function() { | ||
|  |             if (NowSelectJoinIndex< RequestJoinTeamArr.len() - 1) NowSelectJoinIndex++; | ||
|  |             InitInfo(); | ||
|  |         }.bindenv(this); | ||
|  |         AddChild(RightButton); | ||
|  |     } | ||
|  | 
 | ||
|  |     //绘制主界面 | ||
|  |     function DrawMain(obj) { | ||
|  |         if (!InitFlag) return; | ||
|  |         //标题栏 | ||
|  |         L_sq_DrawButton(X - 2, Y, 252, "interface/lenheartwindowcommon.img", 609, 2, 7); | ||
|  |         //绘制窗口名字 | ||
|  |         L_sq_DrawCode("攻坚队申请", X + 100, Y + 4, sq_RGBA(134, 120, 79, 255), 0, 1); | ||
|  |         //Item信息框一般为211的宽度 | ||
|  |         L_sq_DrawWindow(X, Y + 16, 240, 200, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13); | ||
|  |         //绘制背景 | ||
|  |         L_sq_DrawImg("hud/fiendwarl.img", 15, X + 6, Y + 22); | ||
|  |         //绘制角色背景 | ||
|  |         L_sq_DrawImg("hud/fiendwarl.img", 14, X + 8, Y + 40); | ||
|  |         //绘制角色头像 | ||
|  |         if (AvatarArr) { | ||
|  | 
 | ||
|  |             foreach(AvatarObj in AvatarArr) { | ||
|  |                 local AXpos = AvatarObj.D[0] + X + OffsetArr[Job][0] - 8; | ||
|  |                 local AYpos = AvatarObj.D[1] + Y + OffsetArr[Job][1] + 40; | ||
|  |                 setClip(AXpos + OffsetArr[Job][2], AYpos + OffsetArr[Job][3], AXpos + OffsetArr[Job][2] + 22, AYpos + OffsetArr[Job][3] + 18); //开始裁切 | ||
|  |                 L_sq_DrawImg("character/" + AvatarObj.B + ".img", AvatarObj.C, AXpos, AYpos); | ||
|  |                 releaseClip(); //裁切结束 | ||
|  |             } | ||
|  |         } | ||
|  |         //绘制角色等级 | ||
|  |         L_sq_DrawCode(Level, X + 78 - LenheartTextClass.GetStringLength(Level) / 2, Y + 45, sq_RGBA(134, 120, 79, 255), 0, 1); | ||
|  |         //绘制角色名字 | ||
|  |         L_sq_DrawCode(Name, X + 137 - LenheartTextClass.GetStringLength(Name) / 2, Y + 45, sq_RGBA(134, 120, 79, 255), 0, 1); | ||
|  |         //绘制角色职业类型图标 | ||
|  |         if (Job != 4) L_sq_DrawImg("hud/fiendwarl.img", 16, X + 176, Y + 43); | ||
|  |         //绘制角色职业名称 | ||
|  |         L_sq_DrawCode(JobName, X + 224 - LenheartTextClass.GetStringLength(JobName) / 2, Y + 45, sq_RGBA(134, 120, 79, 255), 0, 1); | ||
|  |         //Item信息框一般为211的宽度 | ||
|  |         L_sq_DrawWindow(X + 21, Y + 65, 30, 30, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13); | ||
|  |         L_sq_DrawWindow(X + 62, Y + 65, 156, 30, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13); | ||
|  |         //绘制决斗等级 | ||
|  |         local PvpImg = PvpLevel / 6; | ||
|  |         L_sq_DrawImg("hud/fiendwarl1.img", 99, X + 25, Y + 74); | ||
|  |         L_sq_DrawCode(PvpLevel.tostring(), X + 45 - LenheartTextClass.GetStringLength(PvpLevel.tostring()) / 2, Y + 91, sq_RGBA(134, 120, 79, 255), 0, 1); | ||
|  |         //绘制各项信息 | ||
|  |         L_sq_DrawCode("复活币:", X + 70, Y + 76, sq_RGBA(134, 120, 79, 255), 0, 1); | ||
|  |         L_sq_DrawCode(Coin, X + 134 - LenheartTextClass.GetStringLength(Coin) / 2, Y + 76, sq_RGBA(134, 120, 79, 255), 0, 1); | ||
|  |         L_sq_DrawCode("疲劳值:", X + 158, Y + 76, sq_RGBA(134, 120, 79, 255), 0, 1); | ||
|  |         L_sq_DrawCode(Fatigue, X + 216 - LenheartTextClass.GetStringLength(Fatigue) / 2, Y + 76, sq_RGBA(134, 120, 79, 255), 0, 1); | ||
|  |         L_sq_DrawCode("战斗力:", X + 70, Y + 93, sq_RGBA(134, 120, 79, 255), 0, 1); | ||
|  |         L_sq_DrawCode(Combat, X + 170 - LenheartTextClass.GetStringLength(Combat) / 2, Y + 93, sq_RGBA(74, 162, 86, 255), 0, 1); | ||
|  |         L_sq_DrawCode("通关超时空攻坚战" + ClearanceCount + "次", X + 130 - LenheartTextClass.GetStringLength("通关超时空攻坚战" + ClearanceCount + "次") / 2, Y + 144, sq_RGBA(221, 213, 147, 255), 0, 1); | ||
|  |         L_sq_DrawCode("申请加入攻坚队。", X + 87, Y + 160, sq_RGBA(160, 132, 75, 255), 0, 1); | ||
|  |         L_sq_DrawCode("请确定是否同意?", X + 87, Y + 176, sq_RGBA(160, 132, 75, 255), 0, 1); | ||
|  | 
 | ||
|  |         L_sq_DrawWindow(X + 77, Y + 216, 100, 20, "interface/lenheartwindowcommon.img", 204, 4, 14, 4, 14); | ||
|  |         //绘制页数 | ||
|  |         local Str = (NowSelectJoinIndex + 1) + " / " + RequestJoinTeamArr.len(); | ||
|  |         L_sq_DrawCode(Str, X + 137 - LenheartTextClass.GetStringLength(Str) / 2, Y + 222, sq_RGBA(134, 120, 79, 255), 0, 1); | ||
|  |     } | ||
|  | 
 | ||
|  |     function Show(obj) { | ||
|  |         DrawMain(obj); | ||
|  |         LenheartNewUI_Windows.Show(obj); | ||
|  | 
 | ||
|  |     } | ||
|  | 
 | ||
|  |     //逻辑入口 | ||
|  |     function Proc(obj) { | ||
|  |         LenheartNewUI_Windows.SyncPos(X, Y); | ||
|  |     } | ||
|  | } |