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);
|
|
}
|
|
}
|