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