112 lines
3.5 KiB
Plaintext
112 lines
3.5 KiB
Plaintext
/*
|
||
文件名:FiendwarNoti.nut
|
||
路径:Project/Fiendwar/FiendwarNoti.nut
|
||
创建日期:2024-11-26 14:45
|
||
文件用途:
|
||
*/
|
||
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;
|
||
}
|
||
}
|
||
}
|
||
|
||
} |