120 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			120 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| /*
 | |
| 文件名: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);
 | |
|     }
 | |
| 
 | |
| } |