112 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			112 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | /* | |||
|  | 文件名:FiendwarNoti.nut | |||
|  | 路径:Plugins/Fiendwar/FiendwarNoti.nut | |||
|  | 创建日期:2024-04-12	22:12 | |||
|  | 文件用途:超时空攻坚战队伍消息 | |||
|  | */ | |||
|  | class FiendwarNotiC extends LenheartNewUI_Windows { | |||
|  |     //调试模式 | |||
|  |     // DeBugMode = true; | |||
|  | 
 | |||
|  |     //消息内容 | |||
|  |     Msg = null; | |||
|  |     //队长名称 | |||
|  |     Name = null; | |||
|  |     //消息时间 | |||
|  |     Timer = null; | |||
|  | 
 | |||
|  |     //队伍聊天消息分发 | |||
|  |     function FiendwarPartyNotiCallBack(Chunk) { | |||
|  |         local Jso = Json.Decode(Chunk); | |||
|  |         Name = Jso.Name; | |||
|  |         Msg = Jso.msg; | |||
|  |         Timer = Clock(); | |||
|  |     } | |||
|  | 
 | |||
|  | 
 | |||
|  |     constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) { | |||
|  |         Childrens = []; | |||
|  |         //注册控件 | |||
|  |         RegisterWidget(); | |||
|  | 
 | |||
|  |         LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH); | |||
|  | 
 | |||
|  |         //队伍聊天消息分发 | |||
|  |         Pack_Control.rawset(20063018, FiendwarPartyNotiCallBack.bindenv(this)); | |||
|  | 
 | |||
|  |     } | |||
|  | 
 | |||
|  |     function RegisterWidget() { | |||
|  |         // //关闭按钮 | |||
|  |         // local CloseButton = LenheartNewUI_BaseButton(278, 0, 11, 12, "interface/lenheartwindowcommon.img", 276); | |||
|  |         // CloseButton.OnClick = function() { | |||
|  |         //     this.Visible = false; | |||
|  |         // }.bindenv(this); | |||
|  |         // Childrens.append(CloseButton); | |||
|  | 
 | |||
|  |     } | |||
|  | 
 | |||
|  |     //队长头像 | |||
|  |     PartyMasterIcon = null; | |||
|  |     //绘制主界面 | |||
|  |     function DrawMain(obj) { | |||
|  | 
 | |||
|  |         if (!Name || !Msg) return; | |||
|  |         //绘制背景框 | |||
|  |         L_sq_DrawImg("hud/fiendwarl.img", 24, X + 134, Y + 180); | |||
|  |         //绘制队长图标 | |||
|  |         // L_sq_DrawImg | |||
|  | 
 | |||
|  |         if (FiendwarTotal.GetInstance().MyTeam) { | |||
|  |             local Mt = FiendwarTotal.GetInstance().MyTeam; | |||
|  |             local PartyMaster; | |||
|  |             foreach(index, value in Mt.MembersList) { | |||
|  |                 if (value.InfoObj.Captain) { | |||
|  |                     PartyMasterIcon = clone(value); | |||
|  |                 } | |||
|  |             } | |||
|  | 
 | |||
|  |             sq_DrawBox(X + 42 + 118, Y + 1 + 185, 22, 18, PartyMasterIcon.HandBoxColor[PartyMasterIcon.InfoObj.TeamId]); | |||
|  |             //绘制队长头像 | |||
|  |             foreach(AvatarObj in PartyMasterIcon.InfoObj.EquVos) { | |||
|  |                 local AXpos = AvatarObj.D[0] + X + PartyMasterIcon.OffsetArr[PartyMasterIcon.InfoObj.Job][0] + 118; | |||
|  |                 local AYpos = AvatarObj.D[1] + Y + PartyMasterIcon.OffsetArr[PartyMasterIcon.InfoObj.Job][1] + 185; | |||
|  |                 setClip(AXpos + PartyMasterIcon.OffsetArr[PartyMasterIcon.InfoObj.Job][2], AYpos + PartyMasterIcon.OffsetArr[PartyMasterIcon.InfoObj.Job][3], AXpos + PartyMasterIcon.OffsetArr[PartyMasterIcon.InfoObj.Job][2] + 22, AYpos + PartyMasterIcon.OffsetArr[PartyMasterIcon.InfoObj.Job][3] + 18); //开始裁切 | |||
|  |                 L_sq_DrawImg("character/" + AvatarObj.B + ".img", AvatarObj.C, AXpos, AYpos); | |||
|  |                 releaseClip(); //裁切结束 | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         //绘制队长名字 | |||
|  |         L_sq_DrawCode(Name, X + 184, Y + 189, sq_RGBA(247, 214, 90, 255), 0, 1); | |||
|  |         //绘制点 | |||
|  |         L_sq_DrawCode(" : ", X + 210, Y + 189, sq_RGBA(230, 200, 155, 255), 0, 1); | |||
|  |         //绘制消息 | |||
|  |         L_sq_DrawCode(Msg, X + 190 + LenheartTextClass.GetStringLength(Name), Y + 189, sq_RGBA(230, 200, 155, 255), 0, 1); | |||
|  |     } | |||
|  | 
 | |||
|  |     function Show(obj) { | |||
|  |         DrawMain(obj); | |||
|  |         LenheartNewUI_Windows.Show(obj); | |||
|  | 
 | |||
|  |     } | |||
|  | 
 | |||
|  |     //逻辑入口 | |||
|  |     function Proc(obj) { | |||
|  |         LenheartNewUI_Windows.SyncPos(X, Y); | |||
|  |         if (Name && Msg) | |||
|  |             Visible = true; | |||
|  |         else | |||
|  |             Visible = false; | |||
|  | 
 | |||
|  |         if (Timer) { | |||
|  |             if (Clock() - Timer >= 3500) { | |||
|  |                 Timer = null; | |||
|  |                 Name = null; | |||
|  |                 Msg = null; | |||
|  |             } | |||
|  |         } | |||
|  |     } | |||
|  | 
 | |||
|  | } |