234 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			234 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | /* | ||
|  | 文件名:antontownmainparty_req.nut | ||
|  | 路径:Plugins/Anton/antontownmainparty_req.nut | ||
|  | 创建日期:2022-09-04	20:11 | ||
|  | 文件用途:城镇中打开安图恩攻坚队面板攻坚队申请部分 | ||
|  | */ | ||
|  | 
 | ||
|  | 
 | ||
|  | class AntonTownMainControl_PartyReq_C extends BasicsDrawTool { | ||
|  |     X = 57; | ||
|  |     Y = 385; | ||
|  |     ReqList = null; | ||
|  | 
 | ||
|  |     Page = 1; | ||
|  |     NowSelect = 0; | ||
|  | 
 | ||
|  | 
 | ||
|  |     LeftButtonObject = null; //左按钮 | ||
|  |     RightButtonObject = null; //右按钮 | ||
|  | 
 | ||
|  |     ClossButtonObj = null; | ||
|  |     AllowJoinButtonObj = null; | ||
|  |     RejectJoinButtonObj = null; | ||
|  | 
 | ||
|  | 
 | ||
|  |     function AntonPartyReqPack(chunk) { | ||
|  |         //print(chunk); | ||
|  |         local RootTab = getroottable(); | ||
|  |         BasicsDrawTool.InitClass("AntonPartyReqJson"); //自动判断清空 | ||
|  |         local JsonObj = Json_STL("AntonPartyReqJson"); | ||
|  |         RootTab.rawset("AntonPartyReqJson", JsonObj); | ||
|  |         RootTab["AntonPartyReqJson"].Parse(chunk, 0, false); | ||
|  | 
 | ||
|  | 
 | ||
|  |         local TabBuffer = { | ||
|  |             UID = RootTab["AntonPartyReqJson"].Get("Charac->UID"), | ||
|  |             CID = RootTab["AntonPartyReqJson"].Get("Charac->CID"), | ||
|  |             CaptainBool = RootTab["AntonPartyReqJson"].Get("Charac->CaptainBool"), | ||
|  |             PartyCaptain = RootTab["AntonPartyReqJson"].Get("Charac->PartyCaptain"), | ||
|  |             PlayerSession = RootTab["AntonPartyReqJson"].Get("Charac->PlayerSession"), | ||
|  |             PartyID = RootTab["AntonPartyReqJson"].Get("Charac->PartyID"), | ||
|  |             PlayerLevel = RootTab["AntonPartyReqJson"].Get("Charac->PlayerLevel"), | ||
|  |             PlayerName = RootTab["AntonPartyReqJson"].Get("Charac->PlayerName"), | ||
|  |             PlayerJob = RootTab["AntonPartyReqJson"].Get("Charac->PlayerJob"), | ||
|  |             PlayerJobEx = RootTab["AntonPartyReqJson"].Get("Charac->PlayerJobEx"), | ||
|  |             PlayerGrowTypeJob = RootTab["AntonPartyReqJson"].Get("Charac->PlayerGrowTypeJob"), | ||
|  |             isPrepare = RootTab["AntonPartyReqJson"].Get("Charac->isPrepare"), | ||
|  |             UiButton = null, | ||
|  |         } | ||
|  | 
 | ||
|  |         RootTab["ANTONTOWNMAINCONTROLREQ"].ReqList.append(TabBuffer); | ||
|  |     } | ||
|  | 
 | ||
|  |     constructor() { | ||
|  |         ReqList = []; | ||
|  |         Pack_Control.rawset(1004, AntonPartyReqPack); | ||
|  |     } | ||
|  | 
 | ||
|  |     //获取汉字偏移 | ||
|  |     function GetOffserFromLen(char, offset) { | ||
|  |         return (char.len() * offset) | ||
|  |     } | ||
|  | 
 | ||
|  |     //绘制申请人具体信息 | ||
|  |     function DrawReqPlayerInfo(obj) { | ||
|  |         //材料准备情况 | ||
|  |         T_DrawStayAni(obj, "common/anton/material.ani", X + 157, Y - 1, ReqList[NowSelect].isPrepare.tointeger(), "安图恩队伍申请材料准备情况" + ReqList[NowSelect].isPrepare); | ||
|  |         //头像 | ||
|  |         T_DrawStayAni(obj, "common/anton/face/" + ReqList[NowSelect].PlayerJob + "/" + (ReqList[NowSelect].PlayerJobEx % 16) + ".ani", X, Y, 0, "安图恩队伍申请头像编号" + ReqList[NowSelect].PlayerName); | ||
|  |         //绘制等级 | ||
|  |         L_Code_STL("Lv." + ReqList[NowSelect].PlayerLevel, X + 40, Y + 17, 0xFF29708a, 1); | ||
|  |         //绘制名字 | ||
|  |         L_Code_STL(ReqList[NowSelect].PlayerName, X + 40, Y - 1, 0xFF29708a, 1); | ||
|  |         //绘制职业名 | ||
|  |         L_Code_STL(ReqList[NowSelect].PlayerGrowTypeJob, X + 65 + GetOffserFromLen(ReqList[NowSelect].PlayerGrowTypeJob.tostring(), 3), Y + 17, 0xFF29708a, 1); | ||
|  |         //绘制信息 | ||
|  |         L_Code_STL("", X + 200, Y + 75, 0xFF29708a, 1); | ||
|  |     } | ||
|  | 
 | ||
|  |     //绘制申请人列表 | ||
|  |     function DrawReqPlayerList(obj) { | ||
|  |         local Min = 0 + (5 * (Page - 1)); | ||
|  |         local Max = 5 * Page; | ||
|  |         for (local i = Min; i < ReqList.len() % Max; ++i) { | ||
|  |             T_DrawStayAni(obj, "common/anton/new/newbaseui.ani", X - 5, Y + 53 + (19 * i), 1, "安图恩队伍申请列表底框" + i); | ||
|  |             //绘制等级 | ||
|  |             L_Code_STL("Lv." + ReqList[i].PlayerLevel, X + 3, Y + 56 + (19 * i), 0xFF29708a, 1); | ||
|  |             //绘制名字 | ||
|  |             L_Code_STL(ReqList[i].PlayerName, X + 57, Y + 56 + (19 * i), 0xFF29708a, 1); | ||
|  |             //材料准备情况 | ||
|  |             T_DrawStayAni(obj, "common/anton/material.ani", X + 160, Y + 56 + (19 * i), ReqList[i].isPrepare.tointeger(), "安图恩队伍申请材料准备情况" + ReqList[NowSelect].isPrepare); | ||
|  | 
 | ||
|  |             ReqList[i].UiButton = AntonButtonPro(obj, "AntonPartyReqListSwitchButton" + ReqList[i].PlayerName, X - 5, Y + 53 + (19 * i), "common/anton/new/newnull.ani", 255, 15, 0); | ||
|  |             ReqList[i].UiButton.SetRectEnble(true, "AntonPartyReqListSwitchButtonr" + ReqList[i].PlayerName, X - 5, Y + 53 + (19 * i), "common/anton/new/newbaseui.ani", 3); | ||
|  |             ReqList[i].UiButton.Show(); | ||
|  | 
 | ||
|  |             if (ReqList[i].UiButton.isLBActive()) { | ||
|  |                 obj.sq_PlaySound("CLICK_BUTTON1"); | ||
|  |                 NowSelect = i; | ||
|  |             } | ||
|  |         } | ||
|  |         T_DrawStayAni(obj, "common/anton/new/newbaseui.ani", X - 5, Y + 53 + (19 * NowSelect), 2, "安图恩队伍申请列表界面当前选中"); | ||
|  |     } | ||
|  | 
 | ||
|  |     //绘制申请人页面控制 | ||
|  |     function DrawReqPlayerListPageConctrl(obj) { | ||
|  |         //绘制申请人页面数量 | ||
|  |         local ListMaxPage = (ReqList.len() / 5).tointeger() + 1; | ||
|  |         L_Code_STL(Page.tostring() + " / " + ListMaxPage.tostring(), X + 21, Y + 155, 0xFFFFFFFF, 1); | ||
|  | 
 | ||
|  |         //如果申请人列表不止1页 | ||
|  |         if (ListMaxPage > 1) { | ||
|  |             //左按钮 | ||
|  |             { | ||
|  |                 if (LeftButtonObject == null) { | ||
|  |                     LeftButtonObject = AntonButtonPro(obj, "AntonPartyReqListLeftButton", X - 3, Y + 154, "common/anton/new/newbasebutton.ani", 15, 13, 0); | ||
|  |                     LeftButtonObject.SetRectEnble(true, "AntonPartyReqListLeftButtonr", X - 3, Y + 154, "common/anton/new/newbasebutton.ani", 1); | ||
|  |                     LeftButtonObject.SetCustomClickEnble(true, "AntonPartyReqListLeftButtonc", X - 3, Y + 155, "common/anton/new/newbasebutton.ani", 2); | ||
|  |                 } | ||
|  |                 LeftButtonObject.Show(); | ||
|  |                 if (LeftButtonObject.isLBActive()) { | ||
|  |                     obj.sq_PlaySound("CLICK_BUTTON2"); | ||
|  |                     if (Page > 1) --Page; | ||
|  |                 } | ||
|  |             } | ||
|  | 
 | ||
|  |             //右按钮 | ||
|  |             { | ||
|  |                 if (RightButtonObject == null) { | ||
|  |                     RightButtonObject = AntonButtonPro(obj, "AntonPartyReqListRightButton", X + 55, Y + 154, "common/anton/new/newbasebutton.ani", 15, 13, 3); | ||
|  |                     RightButtonObject.SetRectEnble(true, "AntonPartyReqListRightButtonr", X + 55, Y + 154, "common/anton/new/newbasebutton.ani", 4); | ||
|  |                     RightButtonObject.SetCustomClickEnble(true, "AntonPartyReqListRightButtonc", X + 55, Y + 155, "common/anton/new/newbasebutton.ani", 5); | ||
|  |                 } | ||
|  |                 RightButtonObject.Show(); | ||
|  |                 if (RightButtonObject.isLBActive()) { | ||
|  |                     obj.sq_PlaySound("CLICK_BUTTON2"); | ||
|  |                     if (Page < ListMaxPage) ++Page; | ||
|  |                 } | ||
|  |             } | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     //绘制申请人控制按钮 | ||
|  |     function DrawReqPlayerConctrlButton(obj, Type) { | ||
|  |         if (Type == 0) { | ||
|  |             T_DrawStayAni(obj, "common/anton/new/newbasebutton.ani", X + 138, Y + 153, 20, "安图恩队伍申请同意不可用"); | ||
|  |             T_DrawStayAni(obj, "common/anton/new/newbasebutton.ani", X + 138 + 43, Y + 153, 24, "安图恩队伍申请拒绝不可用"); | ||
|  |         } else { | ||
|  |             //同意按钮 | ||
|  |             { | ||
|  |                 if (AllowJoinButtonObj == null) { | ||
|  |                     AllowJoinButtonObj = AntonButtonPro(obj, "AntonAllowJoinButton", X + 138, Y + 153, "common/anton/new/newbasebutton.ani", 40, 17, 21); | ||
|  |                     AllowJoinButtonObj.SetRectEnble(true, "AntonAllowJoinButtonr", X + 138, Y + 153, "common/anton/new/newbasebutton.ani", 22); | ||
|  |                     AllowJoinButtonObj.SetCustomClickEnble(true, "AntonAllowJoinButtonc", X + 138, Y + 153, "common/anton/new/newbasebutton.ani", 23); | ||
|  |                 } | ||
|  |                 AllowJoinButtonObj.Show(); | ||
|  |                 if (AllowJoinButtonObj.isLBActive()) { | ||
|  |                     obj.sq_PlaySound("CLICK_BUTTON2"); | ||
|  |                     local TabBuffer = { | ||
|  |                         UID = ReqList[NowSelect].UID, | ||
|  |                         CID = ReqList[NowSelect].CID, | ||
|  |                         CaptainBool = ReqList[NowSelect].CaptainBool, | ||
|  |                         PartyCaptain = ReqList[NowSelect].PartyCaptain, | ||
|  |                         PlayerSession = ReqList[NowSelect].PlayerSession, | ||
|  |                         PartyID = ReqList[NowSelect].PartyID, | ||
|  |                         PlayerLevel = ReqList[NowSelect].PlayerLevel, | ||
|  |                         PlayerJob = ReqList[NowSelect].PlayerJob, | ||
|  |                         PlayerJobEx = ReqList[NowSelect].PlayerJobEx, | ||
|  |                         IsPrepare = ReqList[NowSelect].isPrepare, | ||
|  |                     } | ||
|  |                     local TabBufferB = { | ||
|  |                         Charac = TabBuffer, | ||
|  |                         op = 1013, | ||
|  |                     } | ||
|  |                     local ReqStr = Json.Encode(TabBufferB); | ||
|  |                     L_sq_SendPackType(130); | ||
|  |                     L_sq_SendPackWChar(ReqStr); | ||
|  |                     L_sq_SendPack(); | ||
|  |                     ReqList.remove(NowSelect); | ||
|  |                 } | ||
|  |             } | ||
|  | 
 | ||
|  |             //拒绝按钮 | ||
|  |             { | ||
|  |                 if (RejectJoinButtonObj == null) { | ||
|  |                     RejectJoinButtonObj = AntonButtonPro(obj, "AntonRejectJoinButton", X + 138 + 43, Y + 153, "common/anton/new/newbasebutton.ani", 40, 17, 25); | ||
|  |                     RejectJoinButtonObj.SetRectEnble(true, "AntonRejectJoinButtonr", X + 138 + 43, Y + 153, "common/anton/new/newbasebutton.ani", 26); | ||
|  |                     RejectJoinButtonObj.SetCustomClickEnble(true, "AntonRejectJoinButtonc", X + 138 + 43, Y + 153, "common/anton/new/newbasebutton.ani", 27); | ||
|  |                 } | ||
|  |                 RejectJoinButtonObj.Show(); | ||
|  |                 if (RejectJoinButtonObj.isLBActive()) { | ||
|  |                     obj.sq_PlaySound("CLICK_BUTTON2"); | ||
|  |                     ReqList.remove(NowSelect); | ||
|  |                 } | ||
|  |             } | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     function Show(obj) { | ||
|  |         //绘制申请人具体信息 | ||
|  |         DrawReqPlayerInfo(obj); | ||
|  | 
 | ||
|  |         //绘制申请人列表 | ||
|  |         DrawReqPlayerList(obj); | ||
|  | 
 | ||
|  |         //绘制申请人页面控制 | ||
|  |         DrawReqPlayerListPageConctrl(obj); | ||
|  | 
 | ||
|  |         //绘制申请人控制按钮 | ||
|  |         DrawReqPlayerConctrlButton(obj, 1); | ||
|  |     } | ||
|  | 
 | ||
|  |     function Run(obj) { | ||
|  |         //如果不是自己的界面打开 | ||
|  |         local RootTab = getroottable(); | ||
|  |         if(RootTab["ANTONTEAMMAINBUTTON"].State == 0)return; | ||
|  |         local ArrSize = ReqList.len(); | ||
|  |         if (ArrSize > 0) { | ||
|  |             Show(obj); | ||
|  |         } else DrawReqPlayerConctrlButton(obj, 0); | ||
|  |     } | ||
|  | } | ||
|  | 
 | ||
|  | local RootTab = getroottable(); | ||
|  | RootTab.rawdelete("ANTONTOWNMAINCONTROLREQ"); | ||
|  | 
 | ||
|  | function AntonTownMainControl_PartyReq(obj) { | ||
|  |     local RootTab = getroottable(); | ||
|  |     if (RootTab.rawin("ANTONTOWNMAINCONTROLREQ") == false) { | ||
|  |         local ANTONTOWNMAINCONTROLREQOBJ = AntonTownMainControl_PartyReq_C(); | ||
|  |         RootTab.rawset("ANTONTOWNMAINCONTROLREQ", ANTONTOWNMAINCONTROLREQOBJ); | ||
|  |     } | ||
|  | } |