125 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			125 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| /*
 | |
| 文件名:Rindro_Luke_Noti.nut
 | |
| 路径:Plugins/Rindro_Luke_/Rindro_Luke_Noti.nut
 | |
| 创建日期:2024-04-12	22:12
 | |
| 文件用途:超时空攻坚战队伍消息
 | |
| */
 | |
| class Rindro_Luke_NotiC extends LenheartNewUI_Windows {
 | |
|     //调试模式
 | |
|     // DeBugMode = true;
 | |
|     //不要窗口模式
 | |
|     NoWindow = true;
 | |
|     //消息内容
 | |
|     Msg = null;
 | |
|     //队长名称
 | |
|     Name = null;
 | |
|     //消息时间
 | |
|     Timer = null;
 | |
| 
 | |
| 
 | |
|     //X Y 裁切开始X Y 裁切结束X  Y
 | |
|     OffsetArr = [
 | |
|         //男鬼剑士
 | |
|         [56, 112, 220, 222],
 | |
|         //女格斗家
 | |
|         [54, 103, 240, 278],
 | |
|         //男神枪手
 | |
|         [55, 130, 236, 246],
 | |
|         //女魔法师
 | |
|         [57, 88, 234, 291],
 | |
|         //男圣职者
 | |
|         [57, 124, 208, 190],
 | |
|         //女神枪手
 | |
|         [56, 119, 226, 209],
 | |
|         //暗夜使者
 | |
|         [56, 117, 225, 212],
 | |
|         //男格斗家
 | |
|         [56, 118, 233, 212],
 | |
|         //男魔法师
 | |
|         [54, 103, 236, 276],
 | |
|         //黑暗武士
 | |
|         [56, 112, 220, 222],
 | |
|         //缔造者
 | |
|         [57, 88, 234, 291],
 | |
|     ]
 | |
| 
 | |
|     //队伍聊天消息分发
 | |
|     function Rindro_Luke_PartyNotiCallBack(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(20084018, Rindro_Luke_PartyNotiCallBack.bindenv(this));
 | |
|     }
 | |
| 
 | |
|     function RegisterWidget() {
 | |
| 
 | |
|     }
 | |
| 
 | |
|     //队长头像
 | |
|     PartyMasterIcon = null;
 | |
|     //绘制主界面
 | |
|     function DrawMain(obj) {
 | |
| 
 | |
|         if (!Name || !Msg) return;
 | |
|         local Ct = Clock() - Timer;
 | |
|         T_DrawDynamicAni(obj, "common/anton/title/06_leader_message_00.ani", 180, 180, "攻坚队团长消息分发" + Timer);
 | |
| 
 | |
|         if (RinDro_Luke_Obj.MyRaidTeam) {
 | |
|             local Mt = RinDro_Luke_Obj.MyRaidTeam;
 | |
|             local PartyMaster = null;
 | |
|             foreach(index, value in Mt.MembersList) {
 | |
|                 if (value.InfoObj.Captain) {
 | |
|                     PartyMasterIcon = clone(value);
 | |
|                 }
 | |
|             }
 | |
| 
 | |
|             if (Ct >= 200) {
 | |
|                 //绘制队长头像
 | |
|                 local AXpos = X - 9 + 150 + 44;
 | |
|                 local AYpos = Y + 184 + 2;
 | |
|                 PartyMasterIcon.InfoObj.EquVos.DrawFace(AXpos, AYpos);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         //绘制消息
 | |
|         if (Ct >= 200) L_sq_DrawCode(Msg, X + 270 + LenheartTextClass.GetStringLength(Name), Y + 190, sq_RGBA(230, 200, 155, 255), 0, 1);
 | |
| 
 | |
|         if (Ct >= 2000) Msg = null;
 | |
|     }
 | |
| 
 | |
|     function Show(obj) {
 | |
|         DrawMain(obj);
 | |
|         LenheartNewUI_Windows.Show(obj);
 | |
| 
 | |
|     }
 | |
| 
 | |
|     //逻辑入口
 | |
|     function Proc(obj) {
 | |
|         LenheartNewUI_Windows.SyncPos(X, Y);
 | |
|         if (Name && Msg)
 | |
|             ResetFocus();
 | |
|         else
 | |
|             // CloseWindow();
 | |
| 
 | |
|             if (Timer) {
 | |
|                 if (Clock() - Timer >= 3000) {
 | |
|                     Timer = null;
 | |
|                     Name = null;
 | |
|                     Msg = null;
 | |
|                 }
 | |
|             }
 | |
|     }
 | |
| 
 | |
| } |