/* 文件名:antontownmainparty_info.nut 路径:Plugins/Anton/antontownmainparty_info.nut 创建日期:2022-09-04 20:09 文件用途:城镇中打开安图恩攻坚队面板攻坚队信息部分 */ class AntonTownControlInfo_C extends BasicsDrawTool { X = 424; Y = 28; UserUiMap = null; //小队成员UI Map UserInfoMap = null; //小队成员Info Map MySelfMap = null; //自己 CaptainControl = false; //攻坚队长主控 function RedAntonPlayerInfo(chunk) { //Sout("收到包: %L", chunk); local RootTab = getroottable(); BasicsDrawTool.InitClass("AntonTownUserJson"); //自动判断清空 local JsonObj = Json_STL("AntonTownUserJsonBuffer"); RootTab.rawset("AntonTownUserJson", JsonObj); RootTab["AntonTownUserJson"].Parse(chunk, 0, false); //判断是否是攻坚队长主控 RootTab["ANTONTOWNCONTROLINFO"].CaptainControl = RootTab["AntonTownUserJson"].Get("CaptainBool"); //清空自己的信息 RootTab["ANTONTOWNCONTROLINFO"].MySelfMap = {}; //写入自己的信息 RootTab["ANTONTOWNCONTROLINFO"].MySelfMap.rawset("PartyID", RootTab["AntonTownUserJson"].Get("myself->PartyID")); RootTab["ANTONTOWNCONTROLINFO"].MySelfMap.rawset("PartyCaptain", RootTab["AntonTownUserJson"].Get("myself->PartyCaptain")); RootTab["ANTONTOWNCONTROLINFO"].MySelfMap.rawset("PlayerGrowTypeJob", RootTab["AntonTownUserJson"].Get("myself->PlayerGrowTypeJob")); RootTab["ANTONTOWNCONTROLINFO"].MySelfMap.rawset("PlayerSession", RootTab["AntonTownUserJson"].Get("myself->PlayerSession")); RootTab["ANTONTOWNCONTROLINFO"].MySelfMap.rawset("PlayerLevel", RootTab["AntonTownUserJson"].Get("myself->PlayerLevel")); RootTab["ANTONTOWNCONTROLINFO"].MySelfMap.rawset("PlayerJob", RootTab["AntonTownUserJson"].Get("myself->PlayerJob")); RootTab["ANTONTOWNCONTROLINFO"].MySelfMap.rawset("PlayerName", RootTab["AntonTownUserJson"].Get("myself->PlayerName")); RootTab["ANTONTOWNCONTROLINFO"].MySelfMap.rawset("CaptainBool", RootTab["AntonTownUserJson"].Get("myself->CaptainBool")); RootTab["ANTONTOWNCONTROLINFO"].MySelfMap.rawset("isPrepare", RootTab["AntonTownUserJson"].Get("myself->isPrepare")); //清空小队成员数组 RootTab["ANTONTOWNCONTROLINFO"].UserInfoMap = []; //写入小队成员信息 for (local i = 0; i < 20; i++) { local gPartyID = RootTab["AntonTownUserJson"].Get("result->" + i + "->PartyID"); //得到队伍ID if (gPartyID == true || gPartyID == false) break; //如果读不到说明读完了 直接走 local gPartyCaptain = RootTab["AntonTownUserJson"].Get("result->" + i + "->PartyCaptain"); //得到是否为小队队长 local gPlayerGrowTypeJob = RootTab["AntonTownUserJson"].Get("result->" + i + "->PlayerGrowTypeJob"); //得到转职职业(String) local gPlayerSession = RootTab["AntonTownUserJson"].Get("result->" + i + "->PlayerSession"); //得到世界编号 local gPlayerLevel = RootTab["AntonTownUserJson"].Get("result->" + i + "->PlayerLevel"); //得到等级 local gPlayerJob = RootTab["AntonTownUserJson"].Get("result->" + i + "->PlayerJob"); //得到基础职业 local gPlayerJobEx = RootTab["AntonTownUserJson"].Get("result->" + i + "->PlayerJobEx"); //得到基础职业 local gPlayerName = RootTab["AntonTownUserJson"].Get("result->" + i + "->PlayerName"); //得到玩家名字 local gCaptainBool = RootTab["AntonTownUserJson"].Get("result->" + i + "->CaptainBool"); //得到是否为攻坚队队长 local gMaterial = RootTab["AntonTownUserJson"].Get("result->" + i + "->isPrepare"); //得到是否拥有材料 local gCID = RootTab["AntonTownUserJson"].Get("result->" + i + "->CID"); //得到是否拥有材料 local PlayerTab = { PartyID = gPartyID, PartyCaptain = gPartyCaptain, PlayerGrowTypeJob = gPlayerGrowTypeJob, PlayerSession = gPlayerSession, PlayerLevel = gPlayerLevel, PlayerJob = gPlayerJob, PlayerJobEx = gPlayerJobEx, PlayerName = gPlayerName, CaptainBool = gCaptainBool, Material = gMaterial, CID = gCID, } RootTab["ANTONTOWNCONTROLINFO"].UserInfoMap.append(PlayerTab); //PlayerInfoTable丢进数组 } } constructor() { UserUiMap = []; //小队成员UI Map UserInfoMap = []; //小队成员Info Map MySelfMap = {}; //自己 print("AntonTownControl_C ClassObject Succes"); Pack_Control.rawset(1002, RedAntonPlayerInfo); Pack_Control.rawset(1012, RedAntonPlayerInfo); UserUiMap.resize(20); } function DrawPartyInfo(obj) { for (local i = 0; i < UserInfoMap.len(); ++i) { if (!UserUiMap[i]) UserUiMap[i] = AntonUserControl_C("AntonUserPlayer" + i, 308 + ((i % 2) * 223), 97 + ((i / 2) * 42), CaptainControl); //如果用户Map没有被实例化则实例化他 UserUiMap[i].SetPlayerInfo(UserInfoMap[i]); UserUiMap[i].Run(obj); } } function Show(obj) { //如果有攻坚队的具体信息才绘制 if (UserInfoMap.len() > 0) { DrawPartyInfo(obj); } } function Run(obj) { Show(obj); } } local RootTab = getroottable(); RootTab.rawdelete("ANTONTOWNCONTROLINFO"); function AntonTownMainControl_PartyInfo(obj) { local RootTab = getroottable(); if (RootTab.rawin("ANTONTOWNCONTROLINFO") == false) { local ANTONTOWNCONTROLINFOOBJ = AntonTownControlInfo_C(); RootTab.rawset("ANTONTOWNCONTROLINFO", ANTONTOWNCONTROLINFOOBJ); } }