测试超时空
This commit is contained in:
parent
0d3e7994bc
commit
e61fdb1cea
|
|
@ -1,190 +0,0 @@
|
|||
/*
|
||||
文件名:FiendFightLogic.nut
|
||||
路径:Plugins/Fiendwar/FiendFightLogic.nut
|
||||
创建日期:2024-05-27 19:18
|
||||
文件用途:超时空战斗逻辑
|
||||
*/
|
||||
class FiendFightLogicC {
|
||||
//进入BOSS房间发包告诉服务端的Flag
|
||||
IsBossActiveMsgPackFlag = false;
|
||||
|
||||
constructor() {
|
||||
|
||||
//注册回调包
|
||||
Pack_Control.rawset(20063030, SetCharacterDamageRate.bindenv(this));
|
||||
Pack_Control.rawset(20063600, CreatePassiveObjectById.bindenv(this));
|
||||
Pack_Control.rawset(20063602, GetBossHp.bindenv(this));
|
||||
Pack_Control.rawset(20063604, SetBossHp.bindenv(this));
|
||||
Pack_Control.rawset(20063608, CheckMonsterIsV.bindenv(this));
|
||||
}
|
||||
|
||||
//检测怪物是否存在
|
||||
function CheckMonsterIsV(Chunk) {
|
||||
if (!IsBossActiveMsgPackFlag) return;
|
||||
local Jso = Json.Decode(Chunk);
|
||||
local Idx = Jso.id;
|
||||
local ObjectBuf = GetObjectByIndex(Idx);
|
||||
if (!ObjectBuf) {
|
||||
local T = {
|
||||
op = 20063609,
|
||||
id = Idx
|
||||
}
|
||||
Rindro_BaseToolClass.SendPack(T);
|
||||
}
|
||||
}
|
||||
|
||||
//设置BOSS生命值
|
||||
function SetBossHp(Chunk) {
|
||||
if (!IsBossActiveMsgPackFlag) return;
|
||||
local Jso = Json.Decode(Chunk);
|
||||
local BossObject = GetObjectByIndex(210994);
|
||||
|
||||
//没找到BOSS
|
||||
if (!BossObject) {
|
||||
local T = {
|
||||
op = 20063605,
|
||||
}
|
||||
Rindro_BaseToolClass.SendPack(T);
|
||||
} else {
|
||||
BossObject.setHp(Jso.hp, null, true);
|
||||
}
|
||||
|
||||
}
|
||||
//获取BOSS生命值
|
||||
function GetBossHp(Chunk) {
|
||||
if (!IsBossActiveMsgPackFlag) return;
|
||||
local BossObject = GetObjectByIndex(210994);
|
||||
local curthp = -1;
|
||||
local rmaxhp = -1;
|
||||
//找到BOSS
|
||||
if (BossObject) {
|
||||
curthp = BossObject.getHp();
|
||||
rmaxhp = BossObject.getHpMax();
|
||||
}
|
||||
|
||||
local T = {
|
||||
op = 20063603,
|
||||
hp = curthp,
|
||||
maxhp = rmaxhp
|
||||
}
|
||||
Rindro_BaseToolClass.SendPack(T);
|
||||
}
|
||||
|
||||
//设置伤害值回调
|
||||
function SetCharacterDamageRate(Chunk) {
|
||||
local Jso = Json.Decode(Chunk);
|
||||
local Rate = Jso.damageMarkup.tofloat() / 100.0;
|
||||
//超时空伤害设置
|
||||
if (getroottable().rawin("LenheartFiendModuleDamageRate")) {
|
||||
getroottable()["LenheartFiendModuleDamageRate"] = Rate;
|
||||
}
|
||||
}
|
||||
|
||||
//召唤PassiveObject回调
|
||||
function CreatePassiveObjectById(Chunk) {
|
||||
local Jso = Json.Decode(Chunk);
|
||||
local ObjectId = Jso.id;
|
||||
local ZPos = Jso.z;
|
||||
|
||||
//确保在BOSS房间才召唤免得游戏崩溃
|
||||
if (IsBossActiveMsgPackFlag) {
|
||||
local obj = sq_GetMyMasterCharacter();
|
||||
obj = sq_GetCNRDObjectToActiveObject(obj);
|
||||
// obj.sq_SendCreatePassiveObjectPacket(ObjectId, 0, 99999990, 0, ZPos);
|
||||
// sq_SendCreatePassiveObjectPacketFromPassivePos(obj, ObjectId, 0, 99999990, 0, ZPos);
|
||||
sq_SendCreatePassiveObjectPacket(obj, ObjectId, 0, 99999990, 0, ZPos, obj.getDirection());
|
||||
local Jso = {
|
||||
op = 20063601,
|
||||
id = ObjectId,
|
||||
z = ZPos
|
||||
}
|
||||
Rindro_BaseToolClass.SendPack(Jso);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//获取指定对象
|
||||
function GetObjectByIndex(Idx) {
|
||||
local obj = sq_GetMyMasterCharacter();
|
||||
obj = sq_GetCNRDObjectToActiveObject(obj);
|
||||
local objectManager = obj.getObjectManager();
|
||||
local CollisionObjectNumber = objectManager.getCollisionObjectNumber();
|
||||
for (local i = 0; i< CollisionObjectNumber; i += 1) {
|
||||
local object = objectManager.getCollisionObject(i);
|
||||
if (object && object.isObjectType(OBJECTTYPE_ACTIVE)) {
|
||||
local activeObj = sq_GetCNRDObjectToActiveObject(object);
|
||||
local MonsterIndex = activeObj.getCollisionObjectIndex();
|
||||
if (MonsterIndex == Idx) {
|
||||
return activeObj;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
//获取地图ID
|
||||
function GetMapIndex() {
|
||||
local stage = sq_GetGlobaludpModuleStage();
|
||||
local MapIndex = sq_GetMapIndex(stage);
|
||||
return MapIndex;
|
||||
}
|
||||
|
||||
//检测是否在超时空BOSS图
|
||||
function CheckBossIsActive() {
|
||||
//如果在副本中
|
||||
if (sq_GetCurrentModuleType() == 3) {
|
||||
//在BOSS地图
|
||||
if (GetMapIndex() == 24151) {
|
||||
if (!IsBossActiveMsgPackFlag) {
|
||||
IsBossActiveMsgPackFlag = true;
|
||||
local Jso = {
|
||||
op = 20063801
|
||||
}
|
||||
Rindro_BaseToolClass.SendPack(Jso);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
//退出副本以后设置flag 还原
|
||||
else {
|
||||
IsBossActiveMsgPackFlag = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//怪物死亡回调包
|
||||
function MonsterDieCallBack(obj) {
|
||||
//遍历怪物死亡
|
||||
local objectManager = obj.getObjectManager();
|
||||
local CollisionObjectNumber = objectManager.getCollisionObjectNumber();
|
||||
for (local i = 0; i< CollisionObjectNumber; i += 1) {
|
||||
local object = objectManager.getCollisionObject(i);
|
||||
if (object && object.isObjectType(OBJECTTYPE_ACTIVE) && obj.isEnemy(object) && object.isInDamagableState(obj) && object.getTeam() != 0) {
|
||||
local activeObj = sq_GetCNRDObjectToActiveObject(object);
|
||||
if (activeObj.isDead()) {
|
||||
local MonsterIndex = activeObj.getCollisionObjectIndex();
|
||||
if (MonsterIndex >= 210994 && MonsterIndex <= 210999) {
|
||||
local Jso = {
|
||||
op = 20063503,
|
||||
monster_id = MonsterIndex
|
||||
}
|
||||
Rindro_BaseToolClass.SendPack(Jso);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function Proc(obj) {
|
||||
|
||||
//如果进入BOSS房间需要告诉服务端
|
||||
CheckBossIsActive();
|
||||
|
||||
//如果在和BOSS干架 要检测所有怪物的死亡
|
||||
if (IsBossActiveMsgPackFlag) {
|
||||
//怪物死亡检测
|
||||
MonsterDieCallBack(obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,328 +0,0 @@
|
|||
/*
|
||||
文件名:FiendReward.nut
|
||||
路径:Plugins/Fiendwar/FiendReward.nut
|
||||
创建日期:2024-05-13 10:03
|
||||
文件用途:超时空奖励
|
||||
*/
|
||||
class FiendRewardC extends LenheartNewUI_Windows {
|
||||
//调试模式
|
||||
DeBugMode = true;
|
||||
//默认显示状态需要是关闭 因为要通过收包打开
|
||||
Visible = false;
|
||||
|
||||
//奖励信息
|
||||
RewardInfo = null;
|
||||
//奖励动画开始时间
|
||||
AniStartFlag = null;
|
||||
|
||||
//收到奖励包
|
||||
function RewardCallBack(Chunk) {
|
||||
// Sout("收到请求加入包 : \n\n\n %L", Chunk);
|
||||
local Jso = Json.Decode(Chunk);
|
||||
RewardInfo = Jso;
|
||||
Visible = true;
|
||||
AniStartFlag = Clock();
|
||||
}
|
||||
|
||||
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
|
||||
Childrens = [];
|
||||
//注册控件
|
||||
RegisterWidget();
|
||||
|
||||
LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
|
||||
|
||||
Pack_Control.rawset(20063026, RewardCallBack.bindenv(this));
|
||||
|
||||
local T = {
|
||||
op = 20063061,
|
||||
}
|
||||
Rindro_BaseToolClass.SendPackEx(T);
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
}
|
||||
|
||||
AniName_Flag = 0;
|
||||
AniActFlag = 0;
|
||||
Ani_Title = null;
|
||||
Ani_Time = null;
|
||||
Ani_Time2 = null;
|
||||
Ani_Card_1 = null;
|
||||
Ani_Card_2 = null;
|
||||
Ani_Card_Open_1 = null;
|
||||
Ani_Card_Open_2 = null;
|
||||
AniTimeStartFlag = 0;
|
||||
AniRewardMyStartFlag = 0;
|
||||
Ani_Card_All_1 = null;
|
||||
Ani_Card_All_Open = null;
|
||||
Ani_Card_All_Open_Gold = null;
|
||||
AniRewardReloadFlag = 0;
|
||||
AlphaValue = 0.0;
|
||||
//绘制主界面
|
||||
function DrawMain(obj) {
|
||||
if (AniStartFlag) {
|
||||
local ExiTime = Clock() - AniStartFlag;
|
||||
|
||||
//绘制背景
|
||||
L_sq_DrawImg("interface2/fiendwar_kr/reward/fiend_reward.img", 0, X + 0, Y + 0, 1, sq_RGBA(255, 255, 255, 150), 1.0, 1.0);
|
||||
|
||||
//标题一阶段
|
||||
Ani_Title = Rindro_BaseToolClass.T_DrawDynamicAni(obj, "common/fiendwar_kr/reward/reward_title_00.ani", X + 188, Y + 30, "超时空奖励标题1" + AniName_Flag);
|
||||
if (sq_IsEnd(Ani_Title)) {
|
||||
if (AniActFlag == 0) AniActFlag = 1;
|
||||
}
|
||||
//时间二阶段
|
||||
if (AniActFlag >= 1) {
|
||||
Ani_Time = Rindro_BaseToolClass.T_DrawDynamicAni(obj, "common/fiendwar_kr/reward/reward_time.ani", X + 55, Y + 120, "超时空奖励标题2" + AniName_Flag);
|
||||
if (sq_IsEnd(Ani_Time)) {
|
||||
if (AniActFlag == 1) AniActFlag = 2;
|
||||
}
|
||||
}
|
||||
//时间三阶段
|
||||
if (AniActFlag >= 2) {
|
||||
Ani_Time2 = Rindro_BaseToolClass.T_DrawDynamicAni(obj, "common/fiendwar_kr/reward/reward_rank_00.ani", X + 570, Y + 90, "超时空奖励标题3" + AniName_Flag);
|
||||
if (sq_IsEnd(Ani_Time2)) {
|
||||
//记录一下时间
|
||||
if (AniActFlag == 2) {
|
||||
AniTimeStartFlag = Clock();
|
||||
AniActFlag = 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
//时间四阶段
|
||||
if (AniActFlag >= 3) {
|
||||
local al = sq_GetUniformVelocity(0, 100, Clock() - AniTimeStartFlag, 1500);
|
||||
AlphaValue = al.tofloat() / 100.0;
|
||||
|
||||
local RealTime = RewardInfo.time;
|
||||
local seconds = RealTime / 10;
|
||||
local hours = seconds / 3600;
|
||||
local minutes = seconds / 60;
|
||||
|
||||
seconds %= 60;
|
||||
hours = format("%02d", hours);
|
||||
seconds = format("%02d", seconds).slice(-2);
|
||||
minutes = format("%02d", minutes).slice(-2);
|
||||
|
||||
local Offset = -6;
|
||||
DrawImg("hud/fiendwartime.img", hours.slice(0, 1).tointeger(), X + 240 + Offset, Y + 139);
|
||||
DrawImg("hud/fiendwartime.img", hours.slice(1).tointeger(), X + 260 + Offset, Y + 139);
|
||||
DrawImg("hud/fiendwartime.img", 10, X + 286 + Offset, Y + 139);
|
||||
Offset += 60;
|
||||
DrawImg("hud/fiendwartime.img", minutes.slice(0, 1).tointeger(), X + 240 + Offset, Y + 139);
|
||||
DrawImg("hud/fiendwartime.img", minutes.slice(1).tointeger(), X + 260 + Offset, Y + 139);
|
||||
DrawImg("hud/fiendwartime.img", 10, X + 286 + Offset, Y + 139);
|
||||
Offset += 60;
|
||||
DrawImg("hud/fiendwartime.img", seconds.slice(0, 1).tointeger(), X + 240 + Offset, Y + 139);
|
||||
DrawImg("hud/fiendwartime.img", seconds.slice(1).tointeger(), X + 260 + Offset, Y + 139);
|
||||
|
||||
Offset += 160;
|
||||
local DieCount = RewardInfo.deathsNum;
|
||||
local DrawDieStr = format("%02d", DieCount);
|
||||
DrawImg("hud/fiendwartime.img", DrawDieStr.slice(0, 1).tointeger(), X + 240 + Offset, Y + 139);
|
||||
DrawImg("hud/fiendwartime.img", DrawDieStr.slice(1).tointeger(), X + 260 + Offset, Y + 139);
|
||||
|
||||
if (al >= 100) {
|
||||
if (AniActFlag == 3) {
|
||||
AniActFlag = 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
//卡牌一阶段
|
||||
if (AniActFlag == 4) {
|
||||
Ani_Card_1 = T_DrawDynamicAni(obj, "common/fiendwar_kr/reward/cardspread_01.ani", X + 0, Y + 30, "超时空奖励个人第一张卡牌" + AniName_Flag);
|
||||
Ani_Card_2 = T_DrawDynamicAni(obj, "common/fiendwar_kr/reward/cardspread_02.ani", X + 0, Y + 30, "超时空奖励个人第二张卡牌" + AniName_Flag);
|
||||
if (sq_IsEnd(Ani_Card_1) && sq_IsEnd(Ani_Card_2)) {
|
||||
if (AniActFlag == 4) AniActFlag = 5;
|
||||
}
|
||||
}
|
||||
//卡牌二阶段
|
||||
if (AniActFlag == 5) {
|
||||
Ani_Card_Open_1 = T_DrawDynamicAni(obj, "common/fiendwar_kr/reward/reward_card_open.ani", X + 218, Y + 280, "超时空奖励个人第一张卡牌打开" + AniName_Flag);
|
||||
Ani_Card_Open_2 = T_DrawDynamicAni(obj, "common/fiendwar_kr/reward/reward_card_open.ani", X + 406, Y + 280, "超时空奖励个人第二张卡牌打开" + AniName_Flag);
|
||||
if (sq_IsEnd(Ani_Card_Open_1) && sq_IsEnd(Ani_Card_Open_2)) {
|
||||
if (AniActFlag == 5) {
|
||||
AniRewardMyStartFlag = Clock();
|
||||
AniActFlag = 6;
|
||||
}
|
||||
}
|
||||
}
|
||||
//卡牌三阶段
|
||||
if (AniActFlag == 6) {
|
||||
local BackGroundFlag = 0;
|
||||
if (RewardInfo.rewards[0].item == -1) BackGroundFlag = 1;
|
||||
DrawImg("interface2/fiendwar_kr/reward/fiend_reward.img", 23 + BackGroundFlag, X + 218, Y + 280);
|
||||
DrawImg("interface2/fiendwar_kr/reward/fiend_reward.img", 23 + BackGroundFlag, X + 406, Y + 280);
|
||||
|
||||
DrawItemEx(X + 290, Y + 342, RewardInfo.rewards[0].item, RewardInfo.rewards[0].num, RewardInfo.pid, 0, -10);
|
||||
DrawItemEx(X + 478, Y + 342, RewardInfo.rewards[0].item2, RewardInfo.rewards[0].num2, RewardInfo.pid, 0, -10);
|
||||
|
||||
if ((Clock() - AniRewardMyStartFlag) >= 1500) {
|
||||
AniActFlag = 7;
|
||||
}
|
||||
}
|
||||
//卡牌四阶段
|
||||
if (AniActFlag == 7) {
|
||||
Ani_Card_All_1 = T_DrawDynamicAni(obj, "common/fiendwar_kr/reward/cardspread_00.ani", X + 0, Y + 0, "二阶段翻牌未翻开" + AniName_Flag);
|
||||
if (sq_IsEnd(Ani_Card_All_1)) {
|
||||
if (AniActFlag == 7) {
|
||||
Ani_Card_All_Open = array(8);
|
||||
Ani_Card_All_Open_Gold = array(8);
|
||||
AniActFlag = 8;
|
||||
}
|
||||
}
|
||||
}
|
||||
//卡牌五阶段
|
||||
if (AniActFlag == 8) {
|
||||
for (local i = 0; i< 8; i++) {
|
||||
Ani_Card_All_Open[i] = T_DrawDynamicAni(obj, "common/fiendwar_kr/reward/reward_card_open.ani", X + 30 + ((i % 4) * 188), Y + 250 + ((i / 4) * 138), "超时空奖励团队卡牌打开" + "i" + AniName_Flag);
|
||||
|
||||
if (i<(RewardInfo.rewards2.len() - 1) && RewardInfo.rewards2[i][0].grade == 1) {
|
||||
Ani_Card_All_Open_Gold[i] = T_DrawDynamicAni(obj, "common/fiendwar_kr/reward/gold_nomal.ani", X + 30 + ((i % 4) * 188), Y + 250 + ((i / 4) * 138), "超时空奖励团队卡牌打开金牌" + "i" + AniName_Flag);
|
||||
}
|
||||
}
|
||||
if (sq_IsEnd(Ani_Card_All_Open[7])) {
|
||||
if (AniActFlag == 8) {
|
||||
AniActFlag = 9;
|
||||
AniRewardReloadFlag = Clock();
|
||||
}
|
||||
}
|
||||
}
|
||||
//卡牌六阶段
|
||||
if (AniActFlag == 9) {
|
||||
for (local i = 0; i< 8; i++) {
|
||||
DrawRewardCard(i);
|
||||
}
|
||||
//重置
|
||||
if (Clock() - AniRewardReloadFlag >= 2000) {
|
||||
AniActFlag = 0;
|
||||
Ani_Title = null;
|
||||
Ani_Time = null;
|
||||
Ani_Time2 = null;
|
||||
Ani_Card_1 = null;
|
||||
Ani_Card_2 = null;
|
||||
Ani_Card_Open_1 = null;
|
||||
Ani_Card_Open_2 = null;
|
||||
AniTimeStartFlag = 0;
|
||||
AniRewardMyStartFlag = 0;
|
||||
Ani_Card_All_1 = null;
|
||||
Ani_Card_All_Open = null;
|
||||
Ani_Card_All_Open_Gold = null;
|
||||
AniRewardReloadFlag = 0;
|
||||
AlphaValue = 0.0;
|
||||
RewardInfo = null;
|
||||
AniStartFlag = null;
|
||||
AniName_Flag += 1;
|
||||
CloseWindow();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function DrawRewardCard(Index) {
|
||||
if (Index > (RewardInfo.rewards2.len() - 1)) {
|
||||
DrawImg("interface2/fiendwar_kr/reward/fiend_reward.img", 24, X + 29 + ((Index % 4) * 189), Y + 250 + ((Index / 4) * 138));
|
||||
return;
|
||||
}
|
||||
local Info = RewardInfo.rewards2[Index][0];
|
||||
local BackGroundFlag = 0;
|
||||
if (Info.count == 0) {
|
||||
BackGroundFlag = 1;
|
||||
DrawImg("interface2/fiendwar_kr/reward/fiend_reward.img", 23 + BackGroundFlag, X + 29 + ((Index % 4) * 189), Y + 250 + ((Index / 4) * 138));
|
||||
DrawItemEx(X + 29 + ((Index % 4) * 189) + 72, Y + 250 + ((Index / 4) * 138) + 62, Info.item, Info.num, Index, 0, -10);
|
||||
}
|
||||
if (Info.count == 1) {
|
||||
if (Info.grade == 1)(BackGroundFlag = -5)
|
||||
DrawImg("interface2/fiendwar_kr/reward/fiend_reward.img", 23 + BackGroundFlag, X + 29 + ((Index % 4) * 189), Y + 250 + ((Index / 4) * 138));
|
||||
DrawItemEx(X + 29 + ((Index % 4) * 189) + 72, Y + 250 + ((Index / 4) * 138) + 62, Info.item, Info.num, Index, 0, -10);
|
||||
} else if (Info.count == 2) {
|
||||
if (Info.grade == 1)(BackGroundFlag = -5)
|
||||
DrawImg("interface2/fiendwar_kr/reward/fiend_reward.img", 23 + BackGroundFlag, X + 29 + ((Index % 4) * 189), Y + 250 + ((Index / 4) * 138));
|
||||
DrawItemEx(X + 29 + ((Index % 4) * 189) + 72 - 20, Y + 250 + ((Index / 4) * 138) + 62, Info.item, Info.num, Index, 999999, 0);
|
||||
DrawItemEx(X + 29 + ((Index % 4) * 189) + 72 + 20, Y + 250 + ((Index / 4) * 138) + 62, Info.item2, Info.num2, Index, -20, -10);
|
||||
}
|
||||
}
|
||||
|
||||
ItemInfoDrawS = null;
|
||||
//绘制道具相信信息
|
||||
ItemObject = null;
|
||||
|
||||
//绘制道具带道具信息
|
||||
function DrawItemEx(X, Y, Id, Count, Pid, Flag, Flag2) {
|
||||
try {
|
||||
if (Flag != 999999) {
|
||||
local PartyMasterIcon = FiendwarTotal.GetInstance().MyTeam.MembersList[Pid];
|
||||
|
||||
local XOffset = -77 + Flag;
|
||||
local YOffset = -31 + Flag2;
|
||||
sq_DrawBox(X + 30 + XOffset, Y + 1 + YOffset, 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] + XOffset - 12;
|
||||
local AYpos = AvatarObj.D[1] + Y + PartyMasterIcon.OffsetArr[PartyMasterIcon.InfoObj.Job][1] + YOffset;
|
||||
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); //开始裁切
|
||||
DrawImg("character/" + AvatarObj.B + ".img", AvatarObj.C, AXpos, AYpos);
|
||||
releaseClip(); //裁切结束
|
||||
}
|
||||
local DrawName = PartyMasterIcon.InfoObj.Name;
|
||||
//绘制名字
|
||||
L_sq_DrawCode(DrawName, X + XOffset + 100 - LenheartTextClass.GetStringLength(DrawName) / 2, Y + YOffset + 4, sq_RGBA(247, 214, 90, 250), 0, 1);
|
||||
}
|
||||
|
||||
if (Id != -1) {
|
||||
local Rarity = AllItemInfoObject[Id].Rarity;
|
||||
L_sq_DrawImg("interface2/fiendwar_kr/reward/fiend_reward.img", 5 + Rarity, X - 3, Y - 3);
|
||||
L_Sq_DrawItem(X, Y, Id, Count, 0, 0, 0);
|
||||
if (sq_IsIntersectRect(IMouse.GetXPos(), IMouse.GetYPos(), 1, 1, X, Y, 24, 24)) {
|
||||
ItemInfoDrawS = {};
|
||||
ItemInfoDrawS.X <- X;
|
||||
ItemInfoDrawS.Y <- Y;
|
||||
ItemInfoDrawS.ItemId <- Id;
|
||||
}
|
||||
}
|
||||
} catch (exception) {
|
||||
|
||||
}
|
||||
}
|
||||
//绘制悬停
|
||||
function DrawItemInfoF(obj) {
|
||||
if (ItemInfoDrawS) {
|
||||
if (!ItemObject) {
|
||||
local ItemId = ItemInfoDrawS.ItemId;
|
||||
if (AllItemInfoObject.rawin(ItemId)) {
|
||||
ItemObject = ItemInfoClass(AllItemInfoObject[ItemId]);
|
||||
}
|
||||
}
|
||||
ItemObject.Show(ItemInfoDrawS.X, ItemInfoDrawS.Y - ItemObject.PageLength);
|
||||
} else {
|
||||
ItemObject = null;
|
||||
}
|
||||
}
|
||||
|
||||
function DrawImg(Path, Index, XPos, YPos) {
|
||||
L_sq_DrawImg(Path, Index, XPos, YPos, 1, sq_RGBA(255, 255, 255, (250 * AlphaValue).tointeger()), 1.0, 1.0);
|
||||
}
|
||||
|
||||
function Show(obj) {
|
||||
ItemInfoDrawS = null;
|
||||
DrawMain(obj);
|
||||
// DrawItemInfoF(obj);
|
||||
LenheartNewUI_Windows.Show(obj);
|
||||
|
||||
}
|
||||
|
||||
//逻辑入口
|
||||
function Proc(obj) {
|
||||
LenheartNewUI_Windows.SyncPos(X, Y);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,188 +0,0 @@
|
|||
/*
|
||||
文件名:Fiendwar.nut
|
||||
路径:Project/Fiendwar/Fiendwar.nut
|
||||
创建日期:2024-11-16 20:19
|
||||
文件用途:
|
||||
*/
|
||||
|
||||
|
||||
dofile("sqr/Project/Fiendwar/FiendwarHall.nut"); //大厅
|
||||
dofile("sqr/Project/Fiendwar/FiendwarHallParty.nut"); //大厅的队伍
|
||||
|
||||
dofile("sqr/Project/Fiendwar/FiendwarPartyInfo.nut"); //攻坚队具体信息窗口
|
||||
dofile("sqr/Project/Fiendwar/FiendwarPartyMemberInfo.nut"); //攻坚队具体信息中的队员信息UI
|
||||
|
||||
dofile("sqr/Project/Fiendwar/FiendwarPlayerInteractive.nut"); //攻坚队玩家交互
|
||||
dofile("sqr/Project/Fiendwar/FiendwarPartyFormation.nut"); //攻坚队具体信息中的编队
|
||||
|
||||
dofile("sqr/Project/Fiendwar/FiendwarHallCreateParty.nut");
|
||||
dofile("sqr/Project/Fiendwar/FiendwarHallApplyJoin.nut");
|
||||
|
||||
|
||||
|
||||
dofile("sqr/Project/Fiendwar/FiendwarFightSituation.nut"); //战况表
|
||||
dofile("sqr/Project/Fiendwar/FiendwarHallGoBossDgn.nut"); //前往BOSS框
|
||||
|
||||
|
||||
|
||||
dofile("sqr/Project/Fiendwar/FiendwarNoti.nut"); //超时空信息分发
|
||||
dofile("sqr/Project/Fiendwar/FiendReward.nut"); //超时空奖励
|
||||
dofile("sqr/Project/Fiendwar/FiendFightLogic.nut"); //战斗逻辑
|
||||
|
||||
class FiendwarTotal extends Rindro_BaseToolClass {
|
||||
//基础配置
|
||||
BaseConfig = null;
|
||||
/*
|
||||
town_index 城镇编号
|
||||
channel_index 频道编号
|
||||
*/
|
||||
//我的客户端cid
|
||||
MyCid = null;
|
||||
//我的攻坚队ID
|
||||
MyPartyId = null;
|
||||
//我是否是攻坚队队长
|
||||
IsCaptain = null;
|
||||
//我的队伍
|
||||
MyTeam = null;
|
||||
//开始攻坚动画
|
||||
StartAniFlag = false;
|
||||
//攻坚结束时间
|
||||
EndTime = null;
|
||||
PackCurT = null;
|
||||
|
||||
|
||||
//全局获取对象方法
|
||||
function GetInstance() {
|
||||
if (getroottable().rawin("FiendwarCObj"))
|
||||
return getroottable()["FiendwarCObj"];
|
||||
else {
|
||||
local RootTab = getroottable();
|
||||
local Cobj = FiendwarTotal();
|
||||
RootTab.rawset("FiendwarCObj", Cobj);
|
||||
Cobj.InitWindow();
|
||||
return Cobj;
|
||||
}
|
||||
}
|
||||
|
||||
//请求基础信息配置
|
||||
function GetFiendwarBase() {
|
||||
local T = {
|
||||
op = 20063501,
|
||||
}
|
||||
SendPack(T);
|
||||
}
|
||||
//请求掉线配置信息
|
||||
function GetFiendwarDown() {
|
||||
local T = {
|
||||
op = 20063063,
|
||||
}
|
||||
SendPack(T);
|
||||
}
|
||||
|
||||
//基础信息配置
|
||||
function FiendwarBase(Chunk) {
|
||||
BaseConfig = Json.Decode(Chunk);
|
||||
FiendwarChannelTownLogicCallBack();
|
||||
}
|
||||
|
||||
//团本专属频道上线城镇移动包
|
||||
function FiendwarChannelTownLogicCallBack() {
|
||||
if (BaseConfig.channel_index.find("20")) {
|
||||
if (L_sq_GetTownIndex() != BaseConfig.town_index) {
|
||||
L_sq_MoveTown(BaseConfig.town_index, 0, 474, 249);
|
||||
}
|
||||
} else {
|
||||
//在超时空区域的 要转移回普通城镇
|
||||
if (L_sq_GetTownIndex() == BaseConfig.town_index) {
|
||||
L_sq_MoveTown(1, 1, 474, 249);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//开团Flag包
|
||||
function StartFight(Chunk) {
|
||||
FiendwarTotal.GetInstance().StartAniFlag = true;
|
||||
}
|
||||
|
||||
|
||||
FiendwarHallC_Window = null;
|
||||
FiendwarFightSituationSwitchC_Window = null;
|
||||
FiendwarNotiC_Window = null;
|
||||
FiendRewardC_Window = null;
|
||||
FiendFightLogicC_Object = null;
|
||||
constructor() {
|
||||
//获取基础配置回调包
|
||||
Pack_Control.rawset(20063502, FiendwarBase.bindenv(this));
|
||||
Pack_Control.rawset(20063028, StartFight.bindenv(this));
|
||||
|
||||
//第一次上线要重新请求一下位置信息
|
||||
GetFiendwarBase();
|
||||
//请求掉线配置信息
|
||||
GetFiendwarDown();
|
||||
|
||||
|
||||
}
|
||||
|
||||
//初始化窗口
|
||||
function InitWindow() {
|
||||
FiendwarHallC_Window = LenheartNewUI_CreateWindow(FiendwarHallC, "超时空攻坚队伍列表", 320, 40, 478, 434, 18);
|
||||
FiendwarFightSituationSwitchC_Window = LenheartNewUI_CreateWindow(FiendwarFightSituationSwitchC, "超时空战况表开关", 770, 9, 30, 30, 0);
|
||||
FiendwarNotiC_Window = LenheartNewUI_CreateWindow(FiendwarNotiC, "超时空攻坚队伍消息分发", 0, 0, 0, 0, 0);
|
||||
FiendRewardC_Window = LenheartNewUI_CreateWindow(FiendRewardC, "超时空奖励界面", 0, 0, 800, 600, 0);
|
||||
|
||||
FiendFightLogicC_Object = FiendFightLogicC();
|
||||
}
|
||||
|
||||
function ClearInfo() {
|
||||
//我的客户端cid
|
||||
MyCid = null;
|
||||
//我的攻坚队ID
|
||||
MyPartyId = null;
|
||||
//我是否是攻坚队队长
|
||||
IsCaptain = null;
|
||||
//我的队伍
|
||||
MyTeam = null;
|
||||
//开始攻坚动画
|
||||
StartAniFlag = false;
|
||||
//攻坚结束时间
|
||||
EndTime = null;
|
||||
PackCurT = null;
|
||||
}
|
||||
|
||||
function Proc(obj) {
|
||||
|
||||
//开始攻坚动画
|
||||
if (FiendwarTotal.GetInstance().StartAniFlag) {
|
||||
local Ani = Rindro_BaseToolClass.T_DrawDynamicAni(obj, "common/fiendwar_kr/common/title/start_back.ani", 400, 260, "超时空开始攻坚Ani1");
|
||||
if (sq_IsEnd(Ani)) {
|
||||
FiendwarTotal.GetInstance().StartAniFlag = false;
|
||||
sq_Rewind(Ani);
|
||||
}
|
||||
}
|
||||
|
||||
if (FiendFightLogicC_Object) FiendFightLogicC_Object.Proc(obj);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
getroottable().rawdelete("FiendwarCObj");
|
||||
|
||||
function LenheartFiendwar(obj) {
|
||||
local RootTab = getroottable();
|
||||
if (!RootTab.rawin("FiendwarCObj")) {
|
||||
local Cobj = FiendwarTotal();
|
||||
RootTab.rawset("FiendwarCObj", Cobj);
|
||||
Cobj.InitWindow();
|
||||
} else {
|
||||
RootTab["FiendwarCObj"].Proc(obj);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (getroottable().rawin("LenheartTopFuncTab")) {
|
||||
getroottable()["LenheartTopFuncTab"].rawset("LenheartFiendwarFunc", LenheartFiendwar);
|
||||
} else {
|
||||
local T = {};
|
||||
T.rawset("LenheartFiendwarFunc", LenheartFiendwar);
|
||||
getroottable().rawset("LenheartTopFuncTab", T);
|
||||
}
|
||||
|
|
@ -1,696 +0,0 @@
|
|||
/*
|
||||
文件名:FiendwarFightSituation.nut
|
||||
路径:Plugins/Fiendwar/FiendwarFightSituation.nut
|
||||
创建日期:2024-04-10 21:28
|
||||
文件用途:超时空攻坚战况
|
||||
*/
|
||||
|
||||
//复选框
|
||||
class Fiendwar_LenheartNewUI_SwitchButton extends LenheartNewUI_CommonUi {
|
||||
//透明度
|
||||
AlphaValue = 1.0;
|
||||
State = 0;
|
||||
ImgIndex = null;
|
||||
|
||||
constructor(X, Y) {
|
||||
LenheartNewUI_CommonUi.constructor(X, Y, 14, 15);
|
||||
}
|
||||
|
||||
function SyncAlpha(Value) {
|
||||
AlphaValue = Value;
|
||||
}
|
||||
|
||||
function Show(obj) {
|
||||
//不可用
|
||||
if (State == 8) {
|
||||
L_sq_DrawImg("interface/lenheartwindowcommon.img", ImgIndex ? ImgIndex + 3 : 141, X, Y + 1, 1, sq_RGBA(255, 255, 255, (250 * AlphaValue).tointeger()), 1.0, 1.0);
|
||||
} else {
|
||||
//悬停
|
||||
if (isLBDown) {
|
||||
L_sq_DrawImg("interface/lenheartwindowcommon.img", ImgIndex ? ImgIndex + 2 : 140, X, Y + 1, 1, sq_RGBA(255, 255, 255, (250 * AlphaValue).tointeger()), 1.0, 1.0);
|
||||
}
|
||||
//按下
|
||||
else if (isInRect) {
|
||||
if (State == 0)
|
||||
L_sq_DrawImg("interface/lenheartwindowcommon.img", ImgIndex ? ImgIndex + 1 : 139, X, Y, 1, sq_RGBA(255, 255, 255, (250 * AlphaValue).tointeger()), 1.0, 1.0);
|
||||
if (State == 1)
|
||||
L_sq_DrawImg("interface/lenheartwindowcommon.img", ImgIndex ? ImgIndex + 2 : 140, X, Y, 1, sq_RGBA(255, 255, 255, (250 * AlphaValue).tointeger()), 1.0, 1.0);
|
||||
}
|
||||
//普通
|
||||
else {
|
||||
if (State == 0)
|
||||
L_sq_DrawImg("interface/lenheartwindowcommon.img", ImgIndex ? ImgIndex : 138, X, Y, 1, sq_RGBA(255, 255, 255, (250 * AlphaValue).tointeger()), 1.0, 1.0);
|
||||
if (State == 1)
|
||||
L_sq_DrawImg("interface/lenheartwindowcommon.img", ImgIndex ? ImgIndex + 2 : 140, X, Y, 1, sq_RGBA(255, 255, 255, (250 * AlphaValue).tointeger()), 1.0, 1.0);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class Fiendwar_LenheartNewUI_ProgressIndicator extends LenheartNewUI_CommonUi {
|
||||
//透明度
|
||||
AlphaValue = 1.0;
|
||||
//宽
|
||||
DWidth = null;
|
||||
//控制者
|
||||
Controller = 0;
|
||||
//回调函数
|
||||
OnChangeControl = null;
|
||||
//球的偏移 因为除不尽 所以这个最好单独写
|
||||
BXposOffset = 0;
|
||||
|
||||
constructor(X, Y, W, H) {
|
||||
this.DWidth = W;
|
||||
LenheartNewUI_CommonUi.constructor(X, Y, W, H);
|
||||
}
|
||||
|
||||
function Show(obj) {
|
||||
//绘制左
|
||||
L_sq_DrawImg("hud/fiendwarl.img", 19, X, Y, 1, sq_RGBA(255, 255, 255, (250 * AlphaValue).tointeger()), 1.0, 1.0);
|
||||
|
||||
local OffserIndex = 0;
|
||||
//绘制中
|
||||
for (local i = 0; i< this.DWidth; i++) {
|
||||
if (i > (Controller * this.DWidth).tointeger())
|
||||
OffserIndex = 0;
|
||||
else OffserIndex = 1;
|
||||
L_sq_DrawImg("hud/fiendwarl.img", 21 + OffserIndex, X + 8 + i, Y, 1, sq_RGBA(255, 255, 255, (250 * AlphaValue).tointeger()), 1.0, 1.0);
|
||||
}
|
||||
//绘制右
|
||||
L_sq_DrawImg("hud/fiendwarl.img", 20, X + 8 + this.DWidth, Y, 1, sq_RGBA(255, 255, 255, (250 * AlphaValue).tointeger()), 1.0, 1.0);
|
||||
|
||||
// local BXposOffset = 0;
|
||||
// if (BaseX && EndX) BXposOffset = EndX - BaseX;
|
||||
//绘制球
|
||||
L_sq_DrawImg("hud/fiendwarl.img", 23, X + BXposOffset + 1, Y + 1, 1, sq_RGBA(255, 255, 255, (250 * AlphaValue).tointeger()), 1.0, 1.0);
|
||||
}
|
||||
|
||||
//按下时的基准X
|
||||
BaseX = null;
|
||||
EndX = null;
|
||||
//鼠标左键按下回调
|
||||
function OnMouseLbDown(MousePos_X, MousePos_Y) {
|
||||
if (sq_IsIntersectRect(MousePos_X, MousePos_Y, 1, 1, X + BXposOffset + 1, Y + 1, 15, 14)) {
|
||||
isLBDown = true;
|
||||
if (!BaseX) BaseX = MousePos_X;
|
||||
}
|
||||
}
|
||||
|
||||
//鼠标事件回调
|
||||
function OnMouseProc(Flag, MousePos_X, MousePos_Y) {
|
||||
if (isLBDown && Flag == 1) {
|
||||
if (MousePos_X > (X + DWidth + 8))
|
||||
MousePos_X = (X + DWidth + 8);
|
||||
else if (MousePos_X<(X + 8))
|
||||
MousePos_X = (X + 8);
|
||||
EndX = MousePos_X;
|
||||
if (BaseX && EndX) {
|
||||
BXposOffset = EndX - BaseX;
|
||||
Controller = BXposOffset.tofloat() / DWidth.tofloat();
|
||||
AlphaValue = Controller;
|
||||
if (AlphaValue< 0.4) AlphaValue = 0.4;
|
||||
if (OnChangeControl) OnChangeControl(Controller);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//鼠标左键弹起回调
|
||||
function OnMouseLbUp(MousePos_X, MousePos_Y) {
|
||||
isLBDown = false;
|
||||
}
|
||||
}
|
||||
|
||||
class FiendwarFightSituationC extends LenheartNewUI_Windows {
|
||||
|
||||
Visible = false;
|
||||
//调试模式
|
||||
// DeBugMode = true;
|
||||
//透明度
|
||||
AlphaValue = 1.0;
|
||||
//简易战况表复选框
|
||||
BaseSituationBtn = null;
|
||||
//简易战况表是否开启
|
||||
BaseSituationFlag = 0;
|
||||
|
||||
//雷达是否存在
|
||||
RadarFlag = true;
|
||||
//turret2
|
||||
turret2 = true;
|
||||
|
||||
MonsterFace = {
|
||||
m20413 = 1,
|
||||
m20412 = 3,
|
||||
m20411 = 4,
|
||||
m20415 = 15,
|
||||
m20408 = 9,
|
||||
m20409 = 8,
|
||||
m20405 = 5,
|
||||
m20404 = 6,
|
||||
m20406 = 12,
|
||||
m20401 = 13,
|
||||
m20402 = 10,
|
||||
m20403 = 11,
|
||||
};
|
||||
|
||||
SlotPos = [
|
||||
[50, 479],
|
||||
[50, 374],
|
||||
[50, 270],
|
||||
[140, 167],
|
||||
[186, 89],
|
||||
[275, 36],
|
||||
[275, 141],
|
||||
[411, 11],
|
||||
[365, 88],
|
||||
[455, 141],
|
||||
[545, 36],
|
||||
|
||||
[141, 427],
|
||||
[185, 348],
|
||||
[185, 245],
|
||||
[321, 271],
|
||||
[411, 219],
|
||||
[546, 245],
|
||||
[591, 166],
|
||||
|
||||
[141, 530],
|
||||
[276, 505],
|
||||
[320, 375],
|
||||
[410, 478],
|
||||
[546, 504],
|
||||
[456, 401],
|
||||
[681, 478],
|
||||
[545, 348],
|
||||
[680, 374],
|
||||
[725, 244],
|
||||
|
||||
[690, 53],
|
||||
[727, 129],
|
||||
]
|
||||
|
||||
|
||||
Info = null;
|
||||
PackCurT = null;
|
||||
EndTime = null;
|
||||
|
||||
function InfoCallBack(Chunk) {
|
||||
// print(Chunk);
|
||||
local Jso = Json.Decode(Chunk);
|
||||
Info = Jso.fightInfo.platVos;
|
||||
EndTime = Jso.fightInfo.endTime;
|
||||
RadarFlag = Jso.fightInfo.radar;
|
||||
turret2 = Jso.fightInfo.turret2;
|
||||
FiendwarTotal.GetInstance().EndTime = Jso.fightInfo.endTime;
|
||||
local Pt = Clock();
|
||||
PackCurT = Pt;
|
||||
FiendwarTotal.GetInstance().PackCurT = Pt;
|
||||
|
||||
local Win = LenheartNewUI_CreateWindow(FiendwarPartyInfoC, "超时空我的队伍窗口", 430, 15, 354, 290, 18);
|
||||
Win.CloseWindow();
|
||||
local Win = LenheartNewUI_CreateWindow(FiendwarHallC, "超时空攻坚队伍列表", 320, 40, 478, 434, 18);
|
||||
Win.CloseWindow();
|
||||
}
|
||||
|
||||
//收到进入BOSS请求包
|
||||
function GoBossCallBack(Chunk) {
|
||||
local Jso = Json.Decode(Chunk);
|
||||
local Win = LenheartNewUI_CreateWindow(FiendwarHallGoBossDgnC, "超时空攻坚进入罗什", 273, 225, 270, 120, 19);
|
||||
Win.Visible = true;
|
||||
Win.Dark = Jso.boss1;
|
||||
Win.Light = Jso.boss2;
|
||||
Win.RegisterWidget();
|
||||
}
|
||||
|
||||
PlayerGiveUpTime = null;
|
||||
PlayerGiveUpFlagTime = null;
|
||||
//放弃副本包
|
||||
function PlayerGiveUpCallBack(Chunk) {
|
||||
local Jso = Json.Decode(Chunk);
|
||||
PlayerGiveUpTime = Jso.endTime;
|
||||
PlayerGiveUpFlagTime = Clock();
|
||||
}
|
||||
|
||||
function GetInfo() {
|
||||
local T = {
|
||||
op = 20063053,
|
||||
// teamsId = FiendwarTotal.GetInstance().MyPartyId
|
||||
}
|
||||
Rindro_BaseToolClass.SendPackEx(T);
|
||||
}
|
||||
|
||||
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
|
||||
Childrens = [];
|
||||
//注册控件
|
||||
RegisterWidget();
|
||||
|
||||
LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
|
||||
|
||||
Pack_Control.rawset(20063016, InfoCallBack.bindenv(this));
|
||||
Pack_Control.rawset(20063022, GoBossCallBack.bindenv(this));
|
||||
Pack_Control.rawset(20063024, PlayerGiveUpCallBack.bindenv(this));
|
||||
|
||||
GetInfo();
|
||||
}
|
||||
|
||||
function RegisterWidget() {
|
||||
//关闭按钮
|
||||
local CloseButton = LenheartNewUI_BaseButton(770, 0, 30, 30, "interface2/fiendwar_kr/navigation/navigationframe.img", 13);
|
||||
CloseButton.OnClick = function() {
|
||||
local Win = LenheartNewUI_CreateWindow(FiendwarFightSituationSwitchC, "超时空战况表开关", 770, 9, 30, 30, 0);
|
||||
Win.ResetFocus();
|
||||
this.Visible = false;
|
||||
}.bindenv(this);
|
||||
Childrens.append(CloseButton);
|
||||
|
||||
local PIButton = Fiendwar_LenheartNewUI_ProgressIndicator(264, 11, 80, 10);
|
||||
PIButton.Controller = 1.0;
|
||||
PIButton.BaseX = 273;
|
||||
PIButton.EndX = 352;
|
||||
PIButton.BXposOffset = 79;
|
||||
PIButton.OnChangeControl = function(Controller) {
|
||||
AlphaValue = Controller;
|
||||
if (AlphaValue< 0.4) AlphaValue = 0.4;
|
||||
}.bindenv(this);
|
||||
Childrens.append(PIButton);
|
||||
|
||||
|
||||
//简易战况表复选框
|
||||
BaseSituationBtn = Fiendwar_LenheartNewUI_SwitchButton(198, 9);
|
||||
BaseSituationBtn.State = 0;
|
||||
BaseSituationBtn.ImgIndex = 358;
|
||||
BaseSituationBtn.Width = 19;
|
||||
BaseSituationBtn.Height = 19;
|
||||
BaseSituationBtn.OnClick = function() {
|
||||
switch (BaseSituationFlag) {
|
||||
case 0:
|
||||
BaseSituationFlag = 1;
|
||||
break;
|
||||
case 1:
|
||||
BaseSituationFlag = 0;
|
||||
break;
|
||||
}
|
||||
BaseSituationBtn.State = BaseSituationFlag;
|
||||
}.bindenv(this);
|
||||
AddChild(BaseSituationBtn);
|
||||
|
||||
}
|
||||
|
||||
|
||||
//绘制简易动态Ani // obj -- ani路径 -- X -- Y -- ani名字
|
||||
function T_DrawDynamicAni(obj, aniFileName, x, y, aniname, Alpha) {
|
||||
local ani = obj.getVar().GetAnimationMap(aniname, aniFileName);
|
||||
ani.setRGBA(255, 255, 255, Alpha);
|
||||
sq_AnimationProc(ani);
|
||||
sq_drawCurrentFrame(ani, x, y, true);
|
||||
return ani;
|
||||
}
|
||||
|
||||
function DrawParty() {
|
||||
//绘制我的队伍
|
||||
if (FiendwarTotal.GetInstance().MyTeam) {
|
||||
local Mt = FiendwarTotal.GetInstance().MyTeam;
|
||||
if (!Mt) return;
|
||||
local PartyMaster;
|
||||
foreach(index, PartyMasterIcon in Mt.MembersList) {
|
||||
local XOffset = 0;
|
||||
local YOffset = 9 + (index * 22);
|
||||
|
||||
DrawImg("interface2/fiendwar_kr/navigation/partyseatnumber.img", 0, X + XOffset + 10, Y + YOffset);
|
||||
DrawImg("interface2/fiendwar_kr/navigation/partyseatnumber.img", PartyMasterIcon.InfoObj.TeamId, X + XOffset + 10, Y + YOffset + 1);
|
||||
|
||||
sq_DrawBox(X + 30 + XOffset, Y + 1 + YOffset, 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] + XOffset - 12;
|
||||
local AYpos = AvatarObj.D[1] + Y + PartyMasterIcon.OffsetArr[PartyMasterIcon.InfoObj.Job][1] + YOffset;
|
||||
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); //开始裁切
|
||||
DrawImg("character/" + AvatarObj.B + ".img", AvatarObj.C, AXpos, AYpos);
|
||||
releaseClip(); //裁切结束
|
||||
}
|
||||
local RgbaValue = sq_RGBA(255, 255, 255, (250 * AlphaValue).tointeger());
|
||||
if (PartyMasterIcon.InfoObj.Captain) RgbaValue = sq_RGBA(247, 214, 90, (250 * AlphaValue).tointeger());
|
||||
if (PartyMasterIcon.InfoObj.Captain) DrawImg("hud/fiendwarl.img", 18, X + 42 + XOffset, Y + 1 + YOffset);
|
||||
|
||||
local DrawName = PartyMasterIcon.InfoObj.Name;
|
||||
if (PlayerGiveUpTime && PlayerGiveUpTime[index]) {
|
||||
local STime = ((PlayerGiveUpTime[index] - (Clock() - PlayerGiveUpFlagTime)) / 1000);
|
||||
DrawName = "复活时间: " + STime.tostring() + "秒";
|
||||
if (STime <= 0) DrawName = PartyMasterIcon.InfoObj.Name;
|
||||
}
|
||||
//绘制名字
|
||||
L_sq_DrawCode(DrawName, X + XOffset + 58, Y + YOffset + 4, RgbaValue, 0, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
//绘制主界面
|
||||
function DrawMain(obj) {
|
||||
//绘制背景框
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 0, X + 7, Y);
|
||||
//绘制建议进度表文字
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 71, X + 130, Y + 10);
|
||||
|
||||
//绘制透明度文字
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 72, X + 220, Y + 10);
|
||||
|
||||
|
||||
|
||||
DrawParty();
|
||||
|
||||
|
||||
|
||||
//Boss底层特效
|
||||
T_DrawDynamicAni(obj, "common/fiendwar_kr/navigation/common/boss_effect.ani", X + 720, Y + 110, "超时空战况表背景图BOSS区域", (250 * AlphaValue).tointeger());
|
||||
|
||||
//下路特效
|
||||
Rindro_BaseToolClass.T_DrawDynamicAni(obj, "common/fiendwar_kr/navigation/common/linebottom.ani", X + 7, Y, "超时空战况表背景图下路特效B");
|
||||
//中路特效
|
||||
Rindro_BaseToolClass.T_DrawDynamicAni(obj, "common/fiendwar_kr/navigation/common/linemiddle.ani", X + 7, Y, "超时空战况表背景图中路特效B");
|
||||
//上路特效
|
||||
Rindro_BaseToolClass.T_DrawDynamicAni(obj, "common/fiendwar_kr/navigation/common/linetop.ani", X + 7, Y, "超时空战况表背景图上路特效B");
|
||||
|
||||
//绘制地图
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 64, X + 7, Y + 1);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if (Info) {
|
||||
foreach(Index, Value in Info) {
|
||||
if (Value.id != -1) {
|
||||
//裁切比例
|
||||
local SliceRate = 0;
|
||||
if (Value.e && Value.s) {
|
||||
SliceRate = (Value.e.tofloat() - (Clock().tofloat() - PackCurT.tofloat())) / Value.s.tofloat();
|
||||
}
|
||||
//BOSS暗
|
||||
if (Value.id == 28) {
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 60, X - 68 + SlotPos[Value.id][0], Y - 56 + SlotPos[Value.id][1]);
|
||||
}
|
||||
//BOSS光
|
||||
else if (Value.id == 29) {
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 61, X - 68 + SlotPos[Value.id][0], Y - 56 + SlotPos[Value.id][1]);
|
||||
}
|
||||
//兵营
|
||||
else if (Value.id == 10 || Value.id == 17 || Value.id == 27) {
|
||||
local Offset = 0;
|
||||
if (!Value.m) Offset = 7;
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 5 + Offset, X - 14 + SlotPos[Value.id][0], Y - 4 + SlotPos[Value.id][1]);
|
||||
//复活
|
||||
if (!Value.m) {
|
||||
if (SliceRate != 0) {
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 55, X - 24 + SlotPos[Value.id][0], Y + 45 + SlotPos[Value.id][1]);
|
||||
DrawProgress(50, SliceRate, X - 10 + SlotPos[Value.id][0], Y + 51 + SlotPos[Value.id][1]);
|
||||
}
|
||||
}
|
||||
//生成小怪
|
||||
else {
|
||||
if (SliceRate != 0) {
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 54, X - 24 + SlotPos[Value.id][0], Y + 45 + SlotPos[Value.id][1]);
|
||||
DrawProgress(50, SliceRate, X - 10 + SlotPos[Value.id][0], Y + 51 + SlotPos[Value.id][1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
//前哨
|
||||
else if (Value.id == 7 || Value.id == 15 || Value.id == 24) {
|
||||
local Offset = 0;
|
||||
if (!Value.m) Offset = 7;
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 4 + Offset, X - 14 + SlotPos[Value.id][0], Y - 4 + SlotPos[Value.id][1]);
|
||||
|
||||
if (SliceRate != 0) {
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 54, X - 24 + SlotPos[Value.id][0], Y + 45 + SlotPos[Value.id][1]);
|
||||
DrawProgress(50, SliceRate, X - 10 + SlotPos[Value.id][0], Y + 51 + SlotPos[Value.id][1]);
|
||||
}
|
||||
|
||||
} else if (Value.id == 6 || Value.id == 23) {
|
||||
//雷达
|
||||
if (Value.id == 6) {
|
||||
local Offset = 0;
|
||||
if (!Value.m) Offset = 7;
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 2 + Offset, X - 14 + SlotPos[Value.id][0], Y - 4 + SlotPos[Value.id][1]);
|
||||
}
|
||||
//炮塔
|
||||
else if (Value.id == 23) {
|
||||
local Offset = 0;
|
||||
if (!Value.m) Offset = 7;
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 3 + Offset, X - 14 + SlotPos[Value.id][0], Y - 4 + SlotPos[Value.id][1]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//基地和出发点一定有框
|
||||
if (Value.id == 0 || Value.id == 1 || Value.id == 11 || Value.id == 18) {
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 25, X - 10 + SlotPos[Value.id][0], Y + SlotPos[Value.id][1]);
|
||||
//基地两边都画
|
||||
if (Value.id == 0) {
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 26, X - 30 + SlotPos[Value.id][0], Y - 1 + SlotPos[Value.id][1]);
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 26, X + 33 + SlotPos[Value.id][0], Y - 1 + SlotPos[Value.id][1]);
|
||||
}
|
||||
} else {
|
||||
//有怪物
|
||||
if (Value.m || Value.n) {
|
||||
if (Value.m) {
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 25, X - 10 + SlotPos[Value.id][0], Y + SlotPos[Value.id][1]);
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 27, X + 36 + SlotPos[Value.id][0], Y - 1 + SlotPos[Value.id][1]);
|
||||
//如果不是这些 那就是移动怪 并且活着
|
||||
if (Value.id != 10 && Value.id != 17 && Value.id != 27 && Value.id != 28 && Value.id != 29 && Value.id != 7 && Value.id != 15 && Value.id != 24 && Value.id != 6 && Value.id != 23 && !Value.n) {
|
||||
//没人打
|
||||
if (Value.u.len()< 1) {
|
||||
if (SliceRate != 0) {
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 56, X - 24 + SlotPos[Value.id][0], Y + 45 + SlotPos[Value.id][1]);
|
||||
DrawProgress(52, SliceRate, X - 10 + SlotPos[Value.id][0], Y + 51 + SlotPos[Value.id][1]);
|
||||
}
|
||||
}
|
||||
//战斗中
|
||||
else {
|
||||
if (SliceRate != 0) {
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 53, X - 24 + SlotPos[Value.id][0], Y + 45 + SlotPos[Value.id][1]);
|
||||
DrawProgress(49, SliceRate, X - 10 + SlotPos[Value.id][0], Y + 51 + SlotPos[Value.id][1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (Value.n) {
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 25, X - 10 + SlotPos[Value.id][0], Y + SlotPos[Value.id][1]);
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 59, X + 36 + SlotPos[Value.id][0], Y - 1 + SlotPos[Value.id][1]);
|
||||
}
|
||||
DrawImg("interface2/fiendwar_kr/navigation/monsterface.img", 14, X + 37 + SlotPos[Value.id][0], Y + SlotPos[Value.id][1]);
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 98, X + 38 + SlotPos[Value.id][0], Y + 37 + SlotPos[Value.id][1]);
|
||||
}
|
||||
}
|
||||
|
||||
//如果有玩家
|
||||
if (Value.u.len() >= 1) {
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 25, X - 10 + SlotPos[Value.id][0], Y + SlotPos[Value.id][1]);
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 26, X - 30 + SlotPos[Value.id][0], Y - 1 + SlotPos[Value.id][1]);
|
||||
|
||||
//说明有战斗
|
||||
if (Value.m) {
|
||||
//战斗特效
|
||||
T_DrawDynamicAni(obj, "common/fiendwar_kr/navigation/common/hexagon_ef_red.ani", X - 32 + SlotPos[Value.id][0], Y - 25 + SlotPos[Value.id][1], "超时空战况表战斗方格", (250 * AlphaValue).tointeger());
|
||||
} else {
|
||||
//TODO 这里判断有没有商人 没有商人画绿色 有画黄色
|
||||
T_DrawDynamicAni(obj, "common/fiendwar_kr/navigation/common/hexagon_ef_green.ani", X - 32 + SlotPos[Value.id][0], Y - 25 + SlotPos[Value.id][1], "超时空战况表安全方格", (250 * AlphaValue).tointeger());
|
||||
}
|
||||
//绘制队伍编号
|
||||
foreach(index, pos in Value.u) {
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 28 + pos, X - 24 + SlotPos[Value.id][0], Y + (index * 11) + 2 + SlotPos[Value.id][1]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
//雷达死完要绘制怪物头像
|
||||
if (!RadarFlag) {
|
||||
if (Value.m || Value.n) {
|
||||
local ImgIndex = 0;
|
||||
if (Value.m && MonsterFace.rawin("m" + Value.m)) ImgIndex = MonsterFace["m" + Value.m];
|
||||
DrawImg("interface2/fiendwar_kr/navigation/monsterface.img", ImgIndex, X + 37 + SlotPos[Value.id][0], Y + SlotPos[Value.id][1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
DrawFightTime(obj);
|
||||
}
|
||||
|
||||
function DrawImg(Path, Index, XPos, YPos) {
|
||||
L_sq_DrawImg(Path, Index, XPos, YPos, 1, sq_RGBA(255, 255, 255, (250 * AlphaValue).tointeger()), 1.0, 1.0);
|
||||
}
|
||||
|
||||
function DrawProgress(Index, SliceRate, X, Y) {
|
||||
if (!turret2) return;
|
||||
if (RadarFlag) SliceRate = 1.0;
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 48, X, Y);
|
||||
setClip(X, Y, X + (SliceRate * 61.0).tointeger(), Y + 3); //开始裁切
|
||||
DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", Index, X, Y);
|
||||
releaseClip(); //裁切结束
|
||||
}
|
||||
|
||||
function Show(obj) {
|
||||
DrawMain(obj);
|
||||
LenheartNewUI_Windows.Show(obj);
|
||||
}
|
||||
|
||||
//攻坚时间
|
||||
function DrawFightTime(obj) {
|
||||
L_sq_DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 47, X + 576, Y - 9);
|
||||
if (EndTime) {
|
||||
local RealTime = EndTime - (Clock() - PackCurT);
|
||||
|
||||
local seconds = RealTime / 1000;
|
||||
local hours = seconds / 3600;
|
||||
local minutes = seconds / 60;
|
||||
|
||||
seconds %= 60;
|
||||
hours = format("%02d", hours);
|
||||
seconds = format("%02d", seconds).slice(-2);
|
||||
minutes = format("%02d", minutes).slice(-2);
|
||||
|
||||
local Offset = 0;
|
||||
L_sq_DrawImg("interface2/fiendwar_kr/navigation/timenumberset.img", hours.slice(0, 1).tointeger(), X + 657 + Offset, Y + 2);
|
||||
L_sq_DrawImg("interface2/fiendwar_kr/navigation/timenumberset.img", hours.slice(1).tointeger(), X + 669 + Offset, Y + 2);
|
||||
Offset += 38;
|
||||
L_sq_DrawImg("interface2/fiendwar_kr/navigation/timenumberset.img", minutes.slice(0, 1).tointeger(), X + 657 + Offset, Y + 2);
|
||||
L_sq_DrawImg("interface2/fiendwar_kr/navigation/timenumberset.img", minutes.slice(1).tointeger(), X + 669 + Offset, Y + 2);
|
||||
Offset += 38;
|
||||
L_sq_DrawImg("interface2/fiendwar_kr/navigation/timenumberset.img", seconds.slice(0, 1).tointeger(), X + 657 + Offset, Y + 2);
|
||||
L_sq_DrawImg("interface2/fiendwar_kr/navigation/timenumberset.img", seconds.slice(1).tointeger(), X + 669 + Offset, Y + 2);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
MainButton = null;
|
||||
//逻辑入口
|
||||
function Proc(obj) {
|
||||
//在基地
|
||||
if (L_sq_GetRegionIndex() == 2) DrawParty();
|
||||
|
||||
if (getroottable().rawin("FiendwarTotal") && FiendwarTotal.GetInstance().EndTime) {
|
||||
DrawFightTime(obj);
|
||||
L_sq_DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 13, X + 770, Y);
|
||||
}
|
||||
|
||||
// //界面未打开
|
||||
// if (!this.Visible) {
|
||||
// //在甲板
|
||||
// if (FiendwarTotal.GetInstance().BaseConfig && FiendwarTotal.GetInstance().BaseConfig.channel_index.find("20") && L_sq_GetTownIndex() == FiendwarTotal.GetInstance().BaseConfig.town_index && L_sq_GetRegionIndex() >= 1) {
|
||||
// if (!MainButton) {
|
||||
// MainButton = LenheartBaseButton(X + 770, Y, 30, 30, "interface2/fiendwar_kr/navigation/navigationframe.img", 13);
|
||||
// } else {
|
||||
// MainButton.Show();
|
||||
// if (MainButton.isLBActive()) {
|
||||
// this.Visible = true;
|
||||
// GetInfo();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
LenheartNewUI_Windows.SyncPos(X, Y);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
文件名:FiendwarHallCreateParty.nut
|
||||
路径:Plugins/Fiendwar/FiendwarHallCreateParty.nut
|
||||
创建日期:2024-03-18 13:20
|
||||
文件用途:
|
||||
*/
|
||||
|
||||
|
||||
class FiendwarFightSituationSwitchC extends LenheartNewUI_Windows {
|
||||
//调试模式
|
||||
// DeBugMode = true;
|
||||
|
||||
//不要窗口模式
|
||||
NoWindow = true;
|
||||
|
||||
function GetInfo() {
|
||||
local T = {
|
||||
op = 20063053,
|
||||
// teamsId = FiendwarTotal.GetInstance().MyPartyId
|
||||
}
|
||||
Rindro_BaseToolClass.SendPackEx(T);
|
||||
}
|
||||
|
||||
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
|
||||
Childrens = [];
|
||||
|
||||
//关闭按钮
|
||||
local CloseButton = LenheartNewUI_BaseButton(0, 0, 30, 30, "interface2/fiendwar_kr/navigation/navigationframe.img", 13);
|
||||
CloseButton.OnClick = function() {
|
||||
local Win = LenheartNewUI_CreateWindow(FiendwarFightSituationC, "超时空攻坚战况表", 0, 8, 800, 600, 0);
|
||||
Win.Visible = true;
|
||||
Win.ResetFocus();
|
||||
GetInfo();
|
||||
}.bindenv(this);
|
||||
AddChild(CloseButton);
|
||||
|
||||
|
||||
LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
|
||||
}
|
||||
|
||||
//绘制主界面
|
||||
function DrawMain(obj) {
|
||||
if (FiendwarTotal.GetInstance().EndTime)
|
||||
DrawFightTime(obj);
|
||||
}
|
||||
|
||||
//攻坚时间
|
||||
function DrawFightTime(obj) {
|
||||
L_sq_DrawImg("interface2/fiendwar_kr/navigation/navigationframe.img", 47, X + 576, Y - 9);
|
||||
if (FiendwarTotal.GetInstance().EndTime) {
|
||||
local RealTime = FiendwarTotal.GetInstance().EndTime - (Clock() - FiendwarTotal.GetInstance().PackCurT);
|
||||
|
||||
local seconds = RealTime / 1000;
|
||||
local hours = seconds / 3600;
|
||||
local minutes = seconds / 60;
|
||||
|
||||
seconds %= 60;
|
||||
hours = format("%02d", hours);
|
||||
seconds = format("%02d", seconds).slice(-2);
|
||||
minutes = format("%02d", minutes).slice(-2);
|
||||
|
||||
local Offset = 0;
|
||||
L_sq_DrawImg("interface2/fiendwar_kr/navigation/timenumberset.img", hours.slice(0, 1).tointeger(), X + 657 + Offset, Y + 2);
|
||||
L_sq_DrawImg("interface2/fiendwar_kr/navigation/timenumberset.img", hours.slice(1).tointeger(), X + 669 + Offset, Y + 2);
|
||||
Offset += 38;
|
||||
L_sq_DrawImg("interface2/fiendwar_kr/navigation/timenumberset.img", minutes.slice(0, 1).tointeger(), X + 657 + Offset, Y + 2);
|
||||
L_sq_DrawImg("interface2/fiendwar_kr/navigation/timenumberset.img", minutes.slice(1).tointeger(), X + 669 + Offset, Y + 2);
|
||||
Offset += 38;
|
||||
L_sq_DrawImg("interface2/fiendwar_kr/navigation/timenumberset.img", seconds.slice(0, 1).tointeger(), X + 657 + Offset, Y + 2);
|
||||
L_sq_DrawImg("interface2/fiendwar_kr/navigation/timenumberset.img", seconds.slice(1).tointeger(), X + 669 + Offset, Y + 2);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function CloseWindow() {
|
||||
// print(1233);
|
||||
// local Win = LenheartNewUI_CreateWindow(FiendwarFightSituationSwitchC, "超时空战况表开关", 770, 9, 30, 30, 0);
|
||||
// Win.Visible = true;
|
||||
// Win.ResetFocus();
|
||||
// LenheartNewUI_Windows.CloseWindow();
|
||||
}
|
||||
|
||||
function Show(obj) {
|
||||
DrawMain(obj);
|
||||
LenheartNewUI_Windows.Show(obj);
|
||||
}
|
||||
|
||||
//逻辑入口
|
||||
function Proc(obj) {
|
||||
if (!FiendwarTotal.GetInstance().EndTime) {
|
||||
Visible = false;
|
||||
} else {
|
||||
Visible = true;
|
||||
}
|
||||
LenheartNewUI_Windows.SyncPos(X, Y);
|
||||
}
|
||||
|
||||
}
|
||||
LenheartNewUI_CreateWindow(FiendwarFightSituationC, "超时空攻坚战况表", 0, 8, 800, 600, 0);
|
||||
|
|
@ -1,406 +0,0 @@
|
|||
/*
|
||||
文件名:FiendwarHall.nut
|
||||
路径:Plugins/Fiendwar/FiendwarHall.nut
|
||||
创建日期:2024-03-11 12:54
|
||||
文件用途:超时空之战大厅
|
||||
*/
|
||||
class FiendwarHallC extends LenheartNewUI_Windows {
|
||||
|
||||
// DeBugMode = true;
|
||||
|
||||
WindowObj = null; //窗口对象
|
||||
MainState = false; //主状态
|
||||
X = 320;
|
||||
Y = 40;
|
||||
//默认显示状态需要是关闭 因为要通过按钮打开
|
||||
Visible = false;
|
||||
//攻坚队List
|
||||
PartyList = null;
|
||||
|
||||
|
||||
function GetInstance() {
|
||||
return getroottable()["FiendwarHallCObj"];
|
||||
}
|
||||
|
||||
//获取所有队伍回调包
|
||||
function GetAllTeamCallBack(Chunk) {
|
||||
local Jso = Json.Decode(Chunk);
|
||||
//清除原来的List PartyList可以直接清除 但是Childrens中的窗口需要调用底层方法清除队伍类
|
||||
PartyList = [];
|
||||
// this.RemoveChilds(FiendwarHallPartyC);
|
||||
//遍历包构造攻坚队UI对象
|
||||
foreach(TeamsSimple in Jso.TeamSimList) {
|
||||
local T = {
|
||||
TeamId = TeamsSimple.TeamId.tostring(),
|
||||
TeamName = TeamsSimple.TeamName,
|
||||
TeamPlayerCount = TeamsSimple.TeamPlayerCount,
|
||||
State = TeamsSimple.State
|
||||
}
|
||||
local TeamBuf = FiendwarHallPartyC(T);
|
||||
AddChild(TeamBuf);
|
||||
PartyList.append(TeamBuf);
|
||||
}
|
||||
//收到刷新队伍列表包时需要将队伍窗口关闭
|
||||
if ("Close" in Jso) LenheartNewUI_DestoryWindow("超时空我的队伍窗口");
|
||||
// RemoveChilds(FiendwarHallPartyC, false);
|
||||
}
|
||||
|
||||
//获取攻坚队信息回调
|
||||
function GetTeamInfoCallBack(Chunk) {
|
||||
// Sout("收到包 : \n %L", Chunk);
|
||||
|
||||
local Jso = Json.Decode(Chunk);
|
||||
LenheartNewUI_DestoryWindow("超时空我的队伍窗口");
|
||||
local Win = LenheartNewUI_CreateWindow(FiendwarPartyInfoC, "超时空我的队伍窗口", 430, 15, 354, 290, 18);
|
||||
FiendwarTotal.GetInstance().MyTeam = Win;
|
||||
Win.Visible = false;
|
||||
|
||||
if (!("Close" in Jso)) {
|
||||
//开启队伍窗口显示
|
||||
Win.Visible = true;
|
||||
//设置置顶
|
||||
Win.ResetFocus();
|
||||
}
|
||||
//清空成员对象集合
|
||||
Win.MembersList = [];
|
||||
//清空是否为我的队伍状态
|
||||
Win.IsMyTeam = false;
|
||||
//清空是否为队长状态
|
||||
Win.IsCaptain = false;
|
||||
//赋值队伍名称
|
||||
Win.TeamName = Jso.team.TeamName;
|
||||
//赋值队伍ID
|
||||
Win.TeamID = Jso.team.TeamId;
|
||||
//遍历Team包 用于构造队伍窗口中的每一位成员
|
||||
foreach(_index, MemberObj in Jso.team.characNum) {
|
||||
//说明我在这个攻坚队里
|
||||
if (Jso.cid == MemberObj.CID) {
|
||||
Win.IsMyTeam = true;
|
||||
|
||||
local Fo = FiendwarTotal.GetInstance();
|
||||
//向全局类存入我的攻坚队伍ID
|
||||
Fo.MyPartyId = Jso.team.TeamId;
|
||||
//存入我的CID
|
||||
Fo.MyCid = Jso.cid;
|
||||
//说明是队长
|
||||
if (Jso.cid == Jso.team.captainCid) {
|
||||
Win.IsCaptain = true;
|
||||
//存入我是攻坚队队长
|
||||
Fo.IsCaptain = true;
|
||||
}
|
||||
}
|
||||
local T = {
|
||||
PartyId = Jso.team.TeamId, //攻坚队ID
|
||||
TeamId = MemberObj.characNum + 1, //小队编号
|
||||
Level = MemberObj.PlayerLevel.tostring(), //等级
|
||||
Name = MemberObj.PlayerName, //名字
|
||||
JobName = MemberObj.PlayerGrowTypeJob, //职业名
|
||||
Job = MemberObj.PlayerJob, //职业编号
|
||||
StkHasFlag = MemberObj.isPrepare, //是否拥有攻坚材料
|
||||
EquVos = MemberObj.equVos, //装备List 用于显示头像
|
||||
Captain = MemberObj.CaptainBool, //是否为攻坚队队长
|
||||
Cid = MemberObj.CID, //Cid
|
||||
OnlineState = MemberObj.onLineStart, //在线状态
|
||||
ExitTime = MemberObj.exitTime, //离队时间
|
||||
PlayerSession = MemberObj.PlayerSession, //玩家在世界中的Session 用于进行原生用户操作
|
||||
ClearanceCount = MemberObj.ClearanceCount, //通关次数
|
||||
ClearanceCountMax = Jso.ClearanceCountMax, //总通关次数
|
||||
}
|
||||
//通过类构造并添加队伍成员UI对象
|
||||
local TeamBuf = FiendwarPartyInfoMemberC(T);
|
||||
Win.AddChild(TeamBuf);
|
||||
Win.MembersList.append(TeamBuf);
|
||||
}
|
||||
|
||||
//刷新界面
|
||||
Win.RegisterWidget();
|
||||
//刷新自己的界面
|
||||
RegisterWidget();
|
||||
}
|
||||
//获取所有队伍
|
||||
function GetAllTeamCall() {
|
||||
local Jso = {
|
||||
op = 20063011
|
||||
}
|
||||
SendPack(Jso);
|
||||
}
|
||||
//退出队伍回调
|
||||
function ExitPartyCallBack(Chunk) {
|
||||
LenheartNewUI_DestoryWindow("超时空我的队伍窗口");
|
||||
FiendwarTotal.GetInstance().ClearInfo();
|
||||
|
||||
local Win = LenheartNewUI_CreateWindow(FiendwarHallC, "超时空攻坚队伍列表", 320, 40, 478, 434, 18);
|
||||
Win.CloseWindow();
|
||||
RegisterWidget();
|
||||
}
|
||||
|
||||
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
|
||||
Childrens = [];
|
||||
PartyList = [];
|
||||
|
||||
//注册控件
|
||||
RegisterWidget();
|
||||
//注册回调包
|
||||
Pack_Control.rawset(20063002, GetAllTeamCallBack.bindenv(this));
|
||||
Pack_Control.rawset(20063004, GetTeamInfoCallBack.bindenv(this));
|
||||
Pack_Control.rawset(20063008, ExitPartyCallBack.bindenv(this));
|
||||
|
||||
GetAllTeamCall();
|
||||
|
||||
LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
|
||||
}
|
||||
|
||||
OnlyPreparingBtn = null;
|
||||
OnlyPreparingFlag = 1;
|
||||
InputObject = null;
|
||||
|
||||
function RegisterWidget() {
|
||||
RemoveChilds(FiendwarHallPartyC, false);
|
||||
//关闭按钮
|
||||
local CloseButton = LenheartNewUI_BaseButton(457, 0, 11, 12, "interface/lenheartwindowcommon.img", 276);
|
||||
CloseButton.OnClick = function() {
|
||||
CloseWindow();
|
||||
}.bindenv(this);
|
||||
AddChild(CloseButton);
|
||||
|
||||
//我的频道复选框
|
||||
local MyChannelBtn = LenheartNewUI_SwitchButtonText(16, 30, "我的频道");
|
||||
MyChannelBtn.State = 1;
|
||||
MyChannelBtn.ImgIndex = 358;
|
||||
MyChannelBtn.SetTextPos(12, 2);
|
||||
MyChannelBtn.Width = 76;
|
||||
MyChannelBtn.Height = 16;
|
||||
AddChild(MyChannelBtn);
|
||||
|
||||
//只查看招募中的攻坚队
|
||||
OnlyPreparingBtn = LenheartNewUI_SwitchButtonText(110, 30, "只查看招募中的攻坚队");
|
||||
OnlyPreparingBtn.ImgIndex = 358;
|
||||
OnlyPreparingBtn.SetTextPos(12, 2);
|
||||
OnlyPreparingBtn.Width = 76;
|
||||
OnlyPreparingBtn.Height = 16;
|
||||
OnlyPreparingBtn.OnClick = function() {
|
||||
switch (OnlyPreparingFlag) {
|
||||
case 0:
|
||||
OnlyPreparingFlag = 1;
|
||||
break;
|
||||
case 1:
|
||||
OnlyPreparingFlag = 0;
|
||||
break;
|
||||
}
|
||||
OnlyPreparingBtn.State = OnlyPreparingFlag;
|
||||
}.bindenv(this);
|
||||
AddChild(OnlyPreparingBtn);
|
||||
|
||||
//搜索队伍输入框
|
||||
InputObject = LenheartNewUI_BaseInput(260, 31, 80, 20);
|
||||
AddChild(InputObject);
|
||||
|
||||
//搜索按钮
|
||||
local FindButton = LenheartNewUI_ButtonText(348, 28, 5, "搜索");
|
||||
FindButton.SetTextOffset(0, 1);
|
||||
FindButton.OnClick = function() {
|
||||
if (InputObject.str.len() > 0) {
|
||||
|
||||
}
|
||||
}.bindenv(this);
|
||||
AddChild(FindButton);
|
||||
|
||||
//重置按钮
|
||||
local ResetButton = LenheartNewUI_ButtonText(408, 28, 5, "重置");
|
||||
ResetButton.SetTextOffset(0, 1);
|
||||
ResetButton.OnClick = function() {
|
||||
InputObject.str = "";
|
||||
}.bindenv(this);
|
||||
AddChild(ResetButton);
|
||||
|
||||
//编号按钮
|
||||
local ModelButton = LenheartNewUI_ButtonText(9, 56, -18, "编号");
|
||||
ModelButton.Idx = 163;
|
||||
ModelButton.DWidth = -8;
|
||||
ModelButton.SetTextOffset(-9, 1);
|
||||
AddChild(ModelButton);
|
||||
|
||||
//状态按钮
|
||||
local StateButton = LenheartNewUI_ButtonText(51, 56, -18, "状态");
|
||||
StateButton.Idx = 163;
|
||||
StateButton.DWidth = -8;
|
||||
StateButton.SetTextOffset(-9, 1);
|
||||
AddChild(StateButton);
|
||||
|
||||
//频道按钮
|
||||
local ChannelButton = LenheartNewUI_ButtonText(93, 56, -18, "频道");
|
||||
ChannelButton.Idx = 163;
|
||||
ChannelButton.DWidth = -8;
|
||||
ChannelButton.SetTextOffset(-9, 1);
|
||||
AddChild(ChannelButton);
|
||||
|
||||
//攻坚队名称按钮
|
||||
local PartyNameButton = LenheartNewUI_ButtonText(135, 56, 100, "攻坚队名称");
|
||||
PartyNameButton.Idx = 163;
|
||||
PartyNameButton.DWidth = 223;
|
||||
PartyNameButton.FillWidth = 1;
|
||||
PartyNameButton.FirstWidth = 21;
|
||||
PartyNameButton.SetTextOffset(26, 1);
|
||||
AddChild(PartyNameButton);
|
||||
|
||||
//阶段按钮
|
||||
local StageButton = LenheartNewUI_ButtonText(289, 56, 52, "阶段");
|
||||
StageButton.Idx = 163;
|
||||
StageButton.DWidth = 140;
|
||||
StageButton.FillWidth = 1;
|
||||
StageButton.FirstWidth = 21;
|
||||
StageButton.SetTextOffset(26, 1);
|
||||
AddChild(StageButton);
|
||||
|
||||
//队员数量按钮
|
||||
local TeammembersButton = LenheartNewUI_ButtonText(402, 56, 50, "队员数量");
|
||||
TeammembersButton.Idx = 163;
|
||||
TeammembersButton.FillWidth = 1;
|
||||
TeammembersButton.FirstWidth = 21;
|
||||
TeammembersButton.DWidth = 47;
|
||||
TeammembersButton.SetTextOffset(-8, 1);
|
||||
AddChild(TeammembersButton);
|
||||
|
||||
//创建攻坚队按钮
|
||||
local CreateOrMyPartyStr = "创建攻坚队";
|
||||
if (FiendwarTotal.GetInstance().MyPartyId) CreateOrMyPartyStr = "我的攻坚队";
|
||||
local MyPartyButton = LenheartNewUI_ButtonText(15, 395, 30, CreateOrMyPartyStr);
|
||||
MyPartyButton.SetTextOffset(-6, 1);
|
||||
MyPartyButton.OnClick = function() {
|
||||
if (FiendwarTotal.GetInstance().MyPartyId) {
|
||||
//发送查看攻坚队具体信息包
|
||||
local T = {
|
||||
op = 20063013,
|
||||
teamsId = FiendwarTotal.GetInstance().MyPartyId
|
||||
}
|
||||
Rindro_BaseToolClass.SendPackEx(T);
|
||||
} else {
|
||||
local Win = LenheartNewUI_CreateWindow(FiendwarHallCreatePartyC, "超时空创建队伍窗口", 290, 220, 284, 154, 18);
|
||||
Win.Visible = true;
|
||||
Win.ResetFocus();
|
||||
}
|
||||
}.bindenv(this);
|
||||
AddChild(MyPartyButton);
|
||||
|
||||
//左翻页按钮
|
||||
local LeftButton = LenheartNewUI_BaseButton(160, 400, 15, 15, "interface/lenheartwindowcommon.img", 34);
|
||||
LeftButton.OnClick = function() {
|
||||
if (Page > 0) Page--;
|
||||
}.bindenv(this);
|
||||
AddChild(LeftButton);
|
||||
|
||||
//右翻页按钮
|
||||
local RightButton = LenheartNewUI_BaseButton(220, 400, 15, 15, "interface/lenheartwindowcommon.img", 38);
|
||||
RightButton.OnClick = function() {
|
||||
if (Page<(((PartyList.len() / PageMaxCount)))) Page++;
|
||||
}.bindenv(this);
|
||||
AddChild(RightButton);
|
||||
|
||||
//进入待机按钮
|
||||
local FQButton = LenheartNewUI_ButtonText(300, 394, 20, "进入待机");
|
||||
FQButton.SetTextOffset(-5, 2);
|
||||
FQButton.State = 8;
|
||||
AddChild(FQButton);
|
||||
|
||||
//刷新按钮
|
||||
local RefreshButton = LenheartNewUI_BaseButton(410, 395, 25, 25, "interface/lenheartwindowcommon.img", 366);
|
||||
RefreshButton.OnClick = function() {
|
||||
GetAllTeamCall();
|
||||
}.bindenv(this);
|
||||
AddChild(RefreshButton);
|
||||
|
||||
//设置按钮
|
||||
local SettingButton = LenheartNewUI_BaseButton(440, 394, 15, 15, "interface/lenheartwindowcommon.img", 362);
|
||||
SettingButton.State = 8;
|
||||
AddChild(SettingButton);
|
||||
}
|
||||
|
||||
|
||||
function DrawMainBackGround(obj) {
|
||||
//Item信息框一般为211的宽度
|
||||
L_sq_DrawWindow(X, Y + 10, 540 * 0.85, 420 * 0.9, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13);
|
||||
|
||||
L_sq_DrawWindow(X + 6, Y + 19, 528 * 0.85, 47, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13);
|
||||
|
||||
//绘制背景框标题栏
|
||||
L_sq_DrawImg("hud/fiendwarl.img", 3, X + 1, Y);
|
||||
|
||||
L_sq_DrawCode("寻找攻坚队", X + 217, Y + 3, sq_RGBA(179, 169, 135, 255), 0, 1);
|
||||
|
||||
//绘制队伍List
|
||||
DrawPartyList(obj);
|
||||
|
||||
L_sq_DrawWindow(X + 6, Y + 382, 528 * 0.85, 24, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13);
|
||||
|
||||
//计算页数
|
||||
local PageStr = Page + 1 + " / " + ((PartyList.len() / PageMaxCount) + 1);
|
||||
//绘制当前页数
|
||||
L_sq_DrawCode(PageStr, X + 166 + LenheartTextClass.GetStringLength(PageStr) / 2, Y + 402, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
}
|
||||
|
||||
|
||||
Page = 0;
|
||||
PageMaxCount = 13;
|
||||
//绘制队伍信息
|
||||
function DrawPartyList(obj) {
|
||||
if (PartyList.len() <= 0) return;
|
||||
//先遍历一遍全部挪走
|
||||
foreach(Index, TeamObj in PartyList) {
|
||||
TeamObj.SyncPos(9999, 9999);
|
||||
}
|
||||
//在遍历需要显示的同步坐标
|
||||
foreach(Index, TeamObj in PartyList.slice((((Page) * PageMaxCount) > 0) ? ((Page) * PageMaxCount) : 0, ((Page + 1) * PageMaxCount) > PartyList.len() ? PartyList.len() : ((Page + 1) * PageMaxCount))) {
|
||||
TeamObj.SyncPos(X, Y + 2 + (Index % PageMaxCount) * 23);
|
||||
// TeamObj.Show();
|
||||
}
|
||||
}
|
||||
|
||||
//绘制主界面
|
||||
function DrawMain(obj) {
|
||||
DrawMainBackGround(obj);
|
||||
}
|
||||
|
||||
//绘制入口
|
||||
function Show(obj) {
|
||||
DrawMain(obj);
|
||||
LenheartNewUI_Windows.Show(obj);
|
||||
}
|
||||
|
||||
|
||||
MainButton = null;
|
||||
//逻辑入口
|
||||
function Proc(obj) {
|
||||
//界面未打开
|
||||
if (!this.Visible && L_sq_RA(0x1A5FB4C, "0x14+0x28+")< 2) {
|
||||
//在甲板
|
||||
if (FiendwarTotal.GetInstance().BaseConfig && FiendwarTotal.GetInstance().BaseConfig.channel_index.find("20") && L_sq_GetTownIndex() == FiendwarTotal.GetInstance().BaseConfig.town_index && L_sq_GetRegionIndex() >= 1) {
|
||||
local PaW = sq_GetPopupWindowMainCotrol(6);
|
||||
if (PaW) {
|
||||
L_sq_UseSkill(DIK_ESCAPE);
|
||||
this.Visible = true;
|
||||
GetAllTeamCall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
LenheartNewUI_Windows.SyncPos(X, Y);
|
||||
}
|
||||
|
||||
//鼠标滚轮时间回调
|
||||
function OnMouseWheel(Flag, MousePos_X, MousePos_Y) {
|
||||
|
||||
switch (Flag) {
|
||||
//下
|
||||
case 0: {
|
||||
if (Page<(((PartyList.len() / PageMaxCount)))) Page++;
|
||||
break;
|
||||
}
|
||||
//上
|
||||
case 1: {
|
||||
if (Page > 0) Page--;
|
||||
break;
|
||||
}
|
||||
}
|
||||
LenheartNewUI_Windows.OnMouseWheel(Flag, MousePos_X, MousePos_Y);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,259 +0,0 @@
|
|||
/*
|
||||
文件名:FiendwarHallApplyJoin.nut
|
||||
路径:Plugins/Fiendwar/FiendwarHallApplyJoin.nut
|
||||
创建日期:2024-04-02 12:07
|
||||
文件用途:超时空玩家申请加入攻坚队
|
||||
*/
|
||||
class FiendwarHallApplyJoinC extends LenheartNewUI_Windows {
|
||||
//调试模式
|
||||
// DeBugMode = true;
|
||||
|
||||
//角色对象
|
||||
Charc = null;
|
||||
//角色等级
|
||||
Level = "100级";
|
||||
//角色名称
|
||||
Name = "凌众K";
|
||||
//角色职业
|
||||
Job = 0;
|
||||
//角色决斗等级
|
||||
PvpLevel = 1;
|
||||
//职业名称
|
||||
JobName = "大暗黑天";
|
||||
//角色复活币
|
||||
Coin = "139个";
|
||||
//角色疲劳值
|
||||
Fatigue = "156";
|
||||
//战斗力
|
||||
Combat = "170051206";
|
||||
//通过次数
|
||||
ClearanceCount = 63;
|
||||
//玩家世界Session
|
||||
PlayerSession = 0;
|
||||
|
||||
//请求者信息集合
|
||||
RequestJoinTeamArr = null;
|
||||
NowSelectJoinIndex = 0;
|
||||
|
||||
//角色头像集合
|
||||
AvatarArr = null;
|
||||
|
||||
//初始化Flag
|
||||
InitFlag = false;
|
||||
|
||||
//X Y 裁切开始X Y 裁切结束X Y
|
||||
OffsetArr = [
|
||||
//男鬼剑士
|
||||
[45, 103, 230, 231],
|
||||
//女格斗家
|
||||
[56, 102, 235, 279],
|
||||
//男神枪手
|
||||
[52, 130, 238, 246],
|
||||
//女魔法师
|
||||
[55, 87, 234, 293],
|
||||
//男圣职者
|
||||
[42, 115, 223, 200],
|
||||
//女神枪手
|
||||
[52, 119, 226, 209],
|
||||
//暗夜使者
|
||||
[56, 102, 225, 226],
|
||||
//男格斗家
|
||||
[50, 114, 239, 216],
|
||||
//男魔法师
|
||||
[54, 103, 236, 276],
|
||||
//黑暗武士
|
||||
[46, 102, 229, 232],
|
||||
//缔造者
|
||||
[56, 86, 235, 293],
|
||||
]
|
||||
|
||||
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
|
||||
Childrens = [];
|
||||
RequestJoinTeamArr = [];
|
||||
|
||||
LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
|
||||
}
|
||||
|
||||
function InitInfo() {
|
||||
local InfoObj = RequestJoinTeamArr[NowSelectJoinIndex];
|
||||
Charc = InfoObj.Charc;
|
||||
//角色等级
|
||||
Level = InfoObj.Level;
|
||||
//角色名称
|
||||
Name = InfoObj.Name;
|
||||
//角色职业
|
||||
Job = InfoObj.Job;
|
||||
//角色决斗等级
|
||||
PvpLevel = InfoObj.PvpLevel;
|
||||
//职业名称
|
||||
JobName = InfoObj.JobName;
|
||||
//角色复活币
|
||||
Coin = InfoObj.Coin + "个";
|
||||
//角色疲劳值
|
||||
Fatigue = InfoObj.Fatigue.tostring();
|
||||
//战斗力
|
||||
Combat = InfoObj.Combat;
|
||||
//通过次数
|
||||
ClearanceCount = InfoObj.ClearanceCount;
|
||||
//头像
|
||||
AvatarArr = InfoObj.AvatarArr;
|
||||
//玩家世界Session
|
||||
this.PlayerSession = InfoObj.PlayerSession;
|
||||
|
||||
Childrens = [];
|
||||
//注册控件
|
||||
RegisterWidget();
|
||||
InitFlag = true;
|
||||
}
|
||||
|
||||
function PopOne() {
|
||||
if (RequestJoinTeamArr.len() > 1) {
|
||||
RequestJoinTeamArr.remove(0);
|
||||
InitInfo();
|
||||
} else {
|
||||
RequestJoinTeamArr = [];
|
||||
CloseWindow();
|
||||
}
|
||||
}
|
||||
|
||||
function RegisterWidget() {
|
||||
//关闭按钮
|
||||
local CloseButton = LenheartNewUI_BaseButton(244, 0, 11, 12, "interface/lenheartwindowcommon.img", 276);
|
||||
CloseButton.OnClick = function() {
|
||||
PopOne();
|
||||
}.bindenv(this);
|
||||
AddChild(CloseButton);
|
||||
|
||||
//冒险团按钮
|
||||
local MButton = LenheartNewUI_ButtonText(24, 114, 15, "冒险团信息");
|
||||
MButton.SetTextOffset(-13, 2);
|
||||
AddChild(MButton);
|
||||
//冒险图鉴按钮
|
||||
local FQButton = LenheartNewUI_ButtonText(95, 113, 15, "冒险图鉴");
|
||||
FQButton.State = 8;
|
||||
FQButton.SetTextOffset(-7, 2);
|
||||
AddChild(FQButton);
|
||||
//查看信息按钮
|
||||
local CButton = LenheartNewUI_ButtonText(166, 114, 15, "查看信息");
|
||||
CButton.SetTextOffset(-7, 2);
|
||||
CButton.OnClick = function() {
|
||||
local obj = sq_GetMyMasterCharacter();
|
||||
// obj.sq_PlaySound("CLICK_BUTTON1");
|
||||
L_sq_SendPackType(8);
|
||||
L_sq_SendPackWord(this.PlayerSession);
|
||||
L_sq_SendPackByte(3);
|
||||
L_sq_SendPack();
|
||||
getroottable().WindowsShowABFlag <- false; //让原生窗口置顶
|
||||
}.bindenv(this);
|
||||
AddChild(CButton);
|
||||
|
||||
//确认按钮
|
||||
local OkButton = LenheartNewUI_ButtonText(74, 192, -1, "是");
|
||||
OkButton.SetTextOffset(3, 2);
|
||||
OkButton.OnClick = function() {
|
||||
local T = {
|
||||
op = 20063003,
|
||||
teamsId = RinDro_Anton_Obj.MyRaidTeamId,
|
||||
charac = Charc
|
||||
}
|
||||
Rindro_BaseToolClass.SendPackEx(T);
|
||||
PopOne();
|
||||
}.bindenv(this);
|
||||
AddChild(OkButton);
|
||||
//拒绝按钮
|
||||
local NoButton = LenheartNewUI_ButtonText(130, 192, -1, "否");
|
||||
NoButton.SetTextOffset(3, 2);
|
||||
NoButton.OnClick = function() {
|
||||
local T = {
|
||||
op = 20063019,
|
||||
charac = Charc.CID
|
||||
}
|
||||
Rindro_BaseToolClass.SendPackEx(T);
|
||||
PopOne();
|
||||
}.bindenv(this);
|
||||
AddChild(NoButton);
|
||||
|
||||
//左翻页按钮
|
||||
local LeftButton = LenheartNewUI_BaseButton(90, 220, 15, 15, "interface/lenheartwindowcommon.img", 34);
|
||||
LeftButton.OnClick = function() {
|
||||
if (NowSelectJoinIndex > 0) NowSelectJoinIndex--;
|
||||
InitInfo();
|
||||
}.bindenv(this);
|
||||
AddChild(LeftButton);
|
||||
|
||||
//右翻页按钮
|
||||
local RightButton = LenheartNewUI_BaseButton(154, 220, 15, 15, "interface/lenheartwindowcommon.img", 38);
|
||||
RightButton.OnClick = function() {
|
||||
if (NowSelectJoinIndex< RequestJoinTeamArr.len() - 1) NowSelectJoinIndex++;
|
||||
InitInfo();
|
||||
}.bindenv(this);
|
||||
AddChild(RightButton);
|
||||
}
|
||||
|
||||
//绘制主界面
|
||||
function DrawMain(obj) {
|
||||
if (!InitFlag) return;
|
||||
//标题栏
|
||||
L_sq_DrawButton(X - 2, Y, 252, "interface/lenheartwindowcommon.img", 609, 2, 7);
|
||||
//绘制窗口名字
|
||||
L_sq_DrawCode("攻坚队申请", X + 100, Y + 4, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
//Item信息框一般为211的宽度
|
||||
L_sq_DrawWindow(X, Y + 16, 240, 200, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13);
|
||||
//绘制背景
|
||||
L_sq_DrawImg("hud/fiendwarl.img", 15, X + 6, Y + 22);
|
||||
//绘制角色背景
|
||||
L_sq_DrawImg("hud/fiendwarl.img", 14, X + 8, Y + 40);
|
||||
//绘制角色头像
|
||||
if (AvatarArr) {
|
||||
|
||||
foreach(AvatarObj in AvatarArr) {
|
||||
local AXpos = AvatarObj.D[0] + X + OffsetArr[Job][0] - 8;
|
||||
local AYpos = AvatarObj.D[1] + Y + OffsetArr[Job][1] + 40;
|
||||
setClip(AXpos + OffsetArr[Job][2], AYpos + OffsetArr[Job][3], AXpos + OffsetArr[Job][2] + 22, AYpos + OffsetArr[Job][3] + 18); //开始裁切
|
||||
L_sq_DrawImg("character/" + AvatarObj.B + ".img", AvatarObj.C, AXpos, AYpos);
|
||||
releaseClip(); //裁切结束
|
||||
}
|
||||
}
|
||||
//绘制角色等级
|
||||
L_sq_DrawCode(Level, X + 78 - LenheartTextClass.GetStringLength(Level) / 2, Y + 45, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
//绘制角色名字
|
||||
L_sq_DrawCode(Name, X + 137 - LenheartTextClass.GetStringLength(Name) / 2, Y + 45, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
//绘制角色职业类型图标
|
||||
if (Job != 4) L_sq_DrawImg("hud/fiendwarl.img", 16, X + 176, Y + 43);
|
||||
//绘制角色职业名称
|
||||
L_sq_DrawCode(JobName, X + 224 - LenheartTextClass.GetStringLength(JobName) / 2, Y + 45, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
//Item信息框一般为211的宽度
|
||||
L_sq_DrawWindow(X + 21, Y + 65, 30, 30, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13);
|
||||
L_sq_DrawWindow(X + 62, Y + 65, 156, 30, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13);
|
||||
//绘制决斗等级
|
||||
local PvpImg = PvpLevel / 6;
|
||||
L_sq_DrawImg("hud/fiendwarl1.img", 99, X + 25, Y + 74);
|
||||
L_sq_DrawCode(PvpLevel.tostring(), X + 45 - LenheartTextClass.GetStringLength(PvpLevel.tostring()) / 2, Y + 91, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
//绘制各项信息
|
||||
L_sq_DrawCode("复活币:", X + 70, Y + 76, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
L_sq_DrawCode(Coin, X + 134 - LenheartTextClass.GetStringLength(Coin) / 2, Y + 76, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
L_sq_DrawCode("疲劳值:", X + 158, Y + 76, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
L_sq_DrawCode(Fatigue, X + 216 - LenheartTextClass.GetStringLength(Fatigue) / 2, Y + 76, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
L_sq_DrawCode("战斗力:", X + 70, Y + 93, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
L_sq_DrawCode(Combat, X + 170 - LenheartTextClass.GetStringLength(Combat) / 2, Y + 93, sq_RGBA(74, 162, 86, 255), 0, 1);
|
||||
L_sq_DrawCode("通关超时空攻坚战" + ClearanceCount + "次", X + 130 - LenheartTextClass.GetStringLength("通关超时空攻坚战" + ClearanceCount + "次") / 2, Y + 144, sq_RGBA(221, 213, 147, 255), 0, 1);
|
||||
L_sq_DrawCode("申请加入攻坚队。", X + 87, Y + 160, sq_RGBA(160, 132, 75, 255), 0, 1);
|
||||
L_sq_DrawCode("请确定是否同意?", X + 87, Y + 176, sq_RGBA(160, 132, 75, 255), 0, 1);
|
||||
|
||||
L_sq_DrawWindow(X + 77, Y + 216, 100, 20, "interface/lenheartwindowcommon.img", 204, 4, 14, 4, 14);
|
||||
//绘制页数
|
||||
local Str = (NowSelectJoinIndex + 1) + " / " + RequestJoinTeamArr.len();
|
||||
L_sq_DrawCode(Str, X + 137 - LenheartTextClass.GetStringLength(Str) / 2, Y + 222, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
}
|
||||
|
||||
function Show(obj) {
|
||||
DrawMain(obj);
|
||||
LenheartNewUI_Windows.Show(obj);
|
||||
|
||||
}
|
||||
|
||||
//逻辑入口
|
||||
function Proc(obj) {
|
||||
LenheartNewUI_Windows.SyncPos(X, Y);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
/*
|
||||
文件名:FiendwarHallCreateParty.nut
|
||||
路径:Plugins/Fiendwar/FiendwarHallCreateParty.nut
|
||||
创建日期:2024-03-18 13:20
|
||||
文件用途:
|
||||
*/
|
||||
|
||||
|
||||
class FiendwarHallCreatePartyC extends LenheartNewUI_Windows {
|
||||
//调试模式
|
||||
DeBugMode = false;
|
||||
|
||||
X = 290;
|
||||
Y = 220;
|
||||
//输入框
|
||||
InputObject = null;
|
||||
|
||||
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
|
||||
Childrens = [];
|
||||
|
||||
//关闭按钮
|
||||
local CloseButton = LenheartNewUI_BaseButton(266, 2, 11, 12, "interface/lenheartwindowcommon.img", 276);
|
||||
CloseButton.OnClick = function() {
|
||||
CloseWindow();
|
||||
}.bindenv(this);
|
||||
AddChild(CloseButton);
|
||||
|
||||
local OkButton = LenheartNewUI_ButtonText(78, 124, 5, "确定");
|
||||
OkButton.SetTextOffset(0, 1);
|
||||
OkButton.OnClick = function() {
|
||||
//如果队伍名输出框的文字长度大于0就创建队伍 创建时告诉服务端自己的 头发 帽子 脸部 皮肤
|
||||
if (InputObject.str.len() > 0) {
|
||||
local T = {
|
||||
op = 20063001,
|
||||
teamsName = InputObject.str,
|
||||
items = [L_sq_GetCharacterAttribute(0x1c, 21), L_sq_GetCharacterAttribute(0x1c, 15), L_sq_GetCharacterAttribute(0x1c, 14), L_sq_GetCharacterAttribute(0x1c, 13)],
|
||||
}
|
||||
Rindro_BaseToolClass.SendPackEx(T);
|
||||
CloseWindow();
|
||||
}
|
||||
}.bindenv(this);
|
||||
AddChild(OkButton);
|
||||
|
||||
local CloseButton = LenheartNewUI_ButtonText(144, 124, 5, "取消");
|
||||
CloseButton.SetTextOffset(0, 1);
|
||||
CloseButton.OnClick = function() {
|
||||
CloseWindow();
|
||||
}.bindenv(this);
|
||||
AddChild(CloseButton);
|
||||
|
||||
InputObject = LenheartNewUI_BaseInput(62, 68, 152, 20);
|
||||
AddChild(InputObject);
|
||||
|
||||
LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
|
||||
}
|
||||
|
||||
//绘制主界面
|
||||
function DrawMain(obj) {
|
||||
L_sq_DrawWindow(X, Y + 10, 260, 120, "interface/lenheartwindowcommon.img", 213, 12, 2, 13, 2);
|
||||
L_sq_DrawWindow(X, Y + 10, 260, 120, "interface/lenheartwindowcommon.img", 213, 12, 2, 13, 2);
|
||||
L_sq_DrawImg("interface2/gcontents/180621_fiendwar/raid/raid_areaimg_fiend.img", 0, X + 11, Y + 21);
|
||||
|
||||
L_sq_DrawImg("hud/fiendwarl.img", 9, X - 2, Y + 2);
|
||||
L_sq_DrawCode("创建攻坚队", X + 112, Y + 3, sq_RGBA(179, 169, 135, 255), 0, 1);
|
||||
|
||||
L_sq_DrawImg("hud/fiendwarl.img", 10, X + 72, Y + 44);
|
||||
|
||||
}
|
||||
|
||||
|
||||
function Show(obj) {
|
||||
DrawMain(obj);
|
||||
LenheartNewUI_Windows.Show(obj);
|
||||
}
|
||||
|
||||
//逻辑入口
|
||||
function Proc(obj) {
|
||||
LenheartNewUI_Windows.SyncPos(X, Y);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
/*
|
||||
文件名:FiendwarHallGoBossDgn.nut
|
||||
路径:Plugins/Fiendwar/FiendwarHallGoBossDgn.nut
|
||||
创建日期:2024-05-10 06:55
|
||||
文件用途:进入罗什的窗口
|
||||
*/
|
||||
class FiendwarHallGoBossDgnC extends LenheartNewUI_Windows {
|
||||
//调试模式
|
||||
// DeBugMode = true;
|
||||
|
||||
Dark = 0;
|
||||
Light = 0;
|
||||
|
||||
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
|
||||
Childrens = [];
|
||||
//注册控件
|
||||
RegisterWidget();
|
||||
|
||||
LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
|
||||
}
|
||||
|
||||
function RegisterWidget() {
|
||||
Childrens = [];
|
||||
// //关闭按钮
|
||||
// local CloseButton = LenheartNewUI_BaseButton(278, 0, 11, 12, "interface/lenheartwindowcommon.img", 276);
|
||||
// CloseButton.OnClick = function() {
|
||||
// this.Visible = false;
|
||||
// }.bindenv(this);
|
||||
// Childrens.append(CloseButton);
|
||||
|
||||
//黑暗按钮
|
||||
local DarkButton = LenheartNewUI_BaseButton(4, 20, 264, 48, "interface2/gcontents/180621_fiendwar/raid/raid_areaimg_fiend.img", 1);
|
||||
DarkButton.OnClick = function() {
|
||||
local T = {
|
||||
op = 20063059,
|
||||
key = 28
|
||||
}
|
||||
Rindro_BaseToolClass.SendPackEx(T);
|
||||
CloseWindow();
|
||||
}.bindenv(this);
|
||||
if (Dark) DarkButton.State = 8;
|
||||
Childrens.append(DarkButton);
|
||||
//纯白按钮
|
||||
local LightButton = LenheartNewUI_BaseButton(4, 68, 264, 48, "interface2/gcontents/180621_fiendwar/raid/raid_areaimg_fiend.img", 5);
|
||||
LightButton.OnClick = function() {
|
||||
local T = {
|
||||
op = 20063059,
|
||||
key = 29
|
||||
}
|
||||
Rindro_BaseToolClass.SendPackEx(T);
|
||||
CloseWindow();
|
||||
}.bindenv(this);
|
||||
if (Light) LightButton.State = 8;
|
||||
Childrens.append(LightButton);
|
||||
}
|
||||
|
||||
//绘制主界面
|
||||
function DrawMain(obj) {
|
||||
L_sq_DrawWindow(X, Y + 10, 246, 85, "interface/lenheartwindowcommon.img", 213, 12, 2, 13, 2);
|
||||
L_sq_DrawWindow(X, Y + 10, 246, 85, "interface/lenheartwindowcommon.img", 213, 12, 2, 13, 2);
|
||||
|
||||
// L_sq_DrawImg("interface2/gcontents/180621_fiendwar/raid/raid_areaimg_fiend.img", 0, X + 11, Y + 21);
|
||||
|
||||
L_sq_DrawImg("hud/fiendwarl.img", 25, X - 3, Y + 2);
|
||||
L_sq_DrawCode("量子时空传送站", X + 98, Y + 5, sq_RGBA(179, 169, 135, 255), 0, 1);
|
||||
|
||||
// L_sq_DrawImg("hud/fiendwarl.img", 10, X + 72, Y + 44);
|
||||
}
|
||||
|
||||
function Show(obj) {
|
||||
DrawMain(obj);
|
||||
LenheartNewUI_Windows.Show(obj);
|
||||
|
||||
}
|
||||
|
||||
//逻辑入口
|
||||
function Proc(obj) {
|
||||
LenheartNewUI_Windows.SyncPos(X, Y);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,77 +0,0 @@
|
|||
/*
|
||||
文件名:FiendwarHallParty.nut
|
||||
路径:Plugins/Fiendwar/FiendwarHallParty.nut
|
||||
创建日期:2024-04-01 22:30
|
||||
文件用途:超时空之战 大厅中的队伍对象
|
||||
*/
|
||||
|
||||
class FiendwarHallPartyC extends LenheartNewUI_CommonUi {
|
||||
X = 0;
|
||||
Y = 0;
|
||||
Width = null;
|
||||
Height = null;
|
||||
TeamObj = null;
|
||||
//选中状态
|
||||
SelectState = false;
|
||||
//攻坚状态
|
||||
OffensiveState = 0;
|
||||
|
||||
constructor(gTeamObj) {
|
||||
//拿到信息Map
|
||||
TeamObj = gTeamObj;
|
||||
//设定宽高 坐标不重要 会被父窗口的Sync同步坐标
|
||||
this.Width = 458;
|
||||
this.Height = 21;
|
||||
|
||||
this.OnClick = function() {
|
||||
//还原父对象中其他攻坚队伍类 选中自己
|
||||
foreach(Obj in Parent.PartyList) {
|
||||
Obj.SelectState = false;
|
||||
}
|
||||
SelectState = !SelectState;
|
||||
//发送查看攻坚队具体信息包
|
||||
local T = {
|
||||
op = 20063013,
|
||||
teamsId = TeamObj.TeamId
|
||||
}
|
||||
Rindro_BaseToolClass.SendPackEx(T);
|
||||
}
|
||||
LenheartNewUI_CommonUi.constructor(10, 82, this.Width, this.Height);
|
||||
}
|
||||
|
||||
function Show(obj) {
|
||||
|
||||
//绘制底槽
|
||||
L_sq_DrawImg("hud/fiendwarl.img", 4, X, Y);
|
||||
|
||||
//绘制队伍编号
|
||||
L_sq_DrawCode(TeamObj.TeamId, X + 22 - LenheartTextClass.GetStringLength(TeamObj.TeamId) / 2, Y + 5, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
//绘制队长头像
|
||||
L_sq_DrawImg("interface/lenheartwindowcommon.img", 55, X + 52, Y + 7);
|
||||
try {
|
||||
local channel_index = FiendwarTotal.GetInstance().BaseConfig.channel_index;
|
||||
channel_index = channel_index.slice(channel_index.len() - 2, channel_index.len());
|
||||
//绘制频道信息
|
||||
L_sq_DrawCode(channel_index, X + 102 - LenheartTextClass.GetStringLength(channel_index) / 2, Y + 5, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
} catch (exception) {
|
||||
|
||||
}
|
||||
//绘制攻坚队名称
|
||||
L_sq_DrawCode(TeamObj.TeamName, X + 130, Y + 5, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
//绘制攻坚队攻坚状态
|
||||
L_sq_DrawImg("hud/fiendwarl.img", 6 + TeamObj.State, X + 314, Y + 2);
|
||||
|
||||
local PartyPlayerCountStr = TeamObj.TeamPlayerCount + " / " + 8;
|
||||
//绘制攻坚队队员数量
|
||||
L_sq_DrawCode(PartyPlayerCountStr, X + 434 - LenheartTextClass.GetStringLength(PartyPlayerCountStr) / 2, Y + 5, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
|
||||
if (SelectState) {
|
||||
L_sq_DrawImg("hud/fiendwarl.img", 5, X, Y);
|
||||
}
|
||||
|
||||
if (isInRect) {
|
||||
L_sq_DrawImg("hud/fiendwarl.img", 5, X, Y);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,112 +0,0 @@
|
|||
/*
|
||||
文件名: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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,120 +0,0 @@
|
|||
/*
|
||||
文件名:FiendwarPartyFormation.nut
|
||||
路径:Plugins/Fiendwar/FiendwarPartyFormation.nut
|
||||
创建日期:2024-04-02 12:09
|
||||
文件用途:超时空攻坚队 队内编队
|
||||
*/
|
||||
//编队用按钮需要传递参数所以重写
|
||||
class FiendwarPartyInfoEdit_BaseButton extends LenheartNewUI_BaseButton {
|
||||
MyInfoIndex = 0;
|
||||
constructor(X, Y, W, H, Path, Idx, InfoIndex) {
|
||||
MyInfoIndex = InfoIndex;
|
||||
LenheartNewUI_BaseButton.constructor(X, Y, W, H, Path, Idx);
|
||||
}
|
||||
|
||||
//鼠标左键弹起回调
|
||||
function OnMouseLbUp(MousePos_X, MousePos_Y) {
|
||||
if (isLBDown && OnClick) {
|
||||
OnClick(MyInfoIndex);
|
||||
}
|
||||
isLBDown = false;
|
||||
}
|
||||
}
|
||||
//编队窗口
|
||||
class FiendwarPartyFormation extends LenheartNewUI_Windows {
|
||||
//调试模式
|
||||
// DeBugMode = true;
|
||||
|
||||
PartyMarkFlag = -1;
|
||||
|
||||
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
|
||||
Childrens = [];
|
||||
//注册控件
|
||||
RegisterWidget();
|
||||
|
||||
LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
|
||||
}
|
||||
|
||||
|
||||
function RegisterWidget() {
|
||||
//关闭按钮
|
||||
local CloseButton = LenheartNewUI_BaseButton(278, 0, 11, 12, "interface/lenheartwindowcommon.img", 276);
|
||||
CloseButton.OnClick = function() {
|
||||
CloseWindow();
|
||||
}.bindenv(this);
|
||||
AddChild(CloseButton);
|
||||
|
||||
//搜索按钮
|
||||
local QdButton = LenheartNewUI_ButtonText(10, 157, 5, "签到");
|
||||
QdButton.State = 8;
|
||||
QdButton.SetTextOffset(0, 1);
|
||||
AddChild(QdButton);
|
||||
|
||||
//解散队伍按钮
|
||||
local BreakPartyButton = LenheartNewUI_ButtonText(80, 158, 5, "解散队伍");
|
||||
BreakPartyButton.SetTextOffset(-12, 1);
|
||||
BreakPartyButton.OnClick = function() {
|
||||
|
||||
}.bindenv(this);
|
||||
AddChild(BreakPartyButton);
|
||||
|
||||
//关闭按钮
|
||||
local CloseButton = LenheartNewUI_ButtonText(150, 158, 5, "关闭");
|
||||
CloseButton.SetTextOffset(0, 1);
|
||||
CloseButton.OnClick = function() {
|
||||
CloseWindow();
|
||||
}.bindenv(this);
|
||||
AddChild(CloseButton);
|
||||
|
||||
for (local i = 0; i< 8; i++) {
|
||||
//右翻页按钮
|
||||
local PartyIndexButton = FiendwarPartyInfoEdit_BaseButton(12 + (i % 2 * 136), 35 + ((i / 2) * 30), 41, 17, "interface/newstyle/windows/party/party_icon.img", 3 + (i * 3), i);
|
||||
//继承类 并重写 调用时传入InfoIndex
|
||||
PartyIndexButton.OnClick = function(MyInfoIndex) {
|
||||
PartyMarkFlag = MyInfoIndex;
|
||||
}.bindenv(this);
|
||||
AddChild(PartyIndexButton);
|
||||
}
|
||||
}
|
||||
|
||||
//绘制主界面
|
||||
function DrawMain(obj) {
|
||||
//标题栏
|
||||
L_sq_DrawButton(X - 1, Y, 284, "interface/lenheartwindowcommon.img", 609, 2, 7);
|
||||
//Item信息框一般为211的宽度
|
||||
L_sq_DrawWindow(X, Y + 17, 272, 154, "interface/lenheartwindowcommon.img", 213, 12, 2, 13, 2);
|
||||
|
||||
for (local q = 0; q< 8; q++) {
|
||||
L_sq_DrawImg("interface/lenheartwindowcommon.img", 358, X + 60 + (q % 2 * 136), Y + 34 + ((q / 2) * 30));
|
||||
for (local i = 0; i< 3; i++) {
|
||||
L_sq_DrawImg("interface/lenheartwindowcommon.img", 361, X + 80 + (q % 2 * 136) + (i * 20), Y + 34 + ((q / 2) * 30));
|
||||
}
|
||||
}
|
||||
|
||||
if (PartyMarkFlag != -1) {
|
||||
L_sq_WA(0x1b46898, 47);
|
||||
}
|
||||
}
|
||||
|
||||
function Show(obj) {
|
||||
DrawMain(obj);
|
||||
LenheartNewUI_Windows.Show(obj);
|
||||
|
||||
}
|
||||
|
||||
//逻辑入口
|
||||
function Proc(obj) {
|
||||
LenheartNewUI_Windows.SyncPos(X, Y);
|
||||
}
|
||||
|
||||
//鼠标左键弹起回调
|
||||
function OnMouseLbUp(MousePos_X, MousePos_Y) {
|
||||
//还原编队的鼠标指针
|
||||
local win = LenheartNewUI_CreateWindow(FiendwarPartyFormation, "超时空我的队伍编队窗口", 105, 40, 294, 192, 18);
|
||||
if (win.PartyMarkFlag != -1) {
|
||||
win.PartyMarkFlag = -1;
|
||||
L_sq_WA(0x1b46898, 0);
|
||||
}
|
||||
LenheartNewUI_Windows.OnMouseLbUp(MousePos_X, MousePos_Y);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,252 +0,0 @@
|
|||
/*
|
||||
文件名:FiendwarPartyInfo.nut
|
||||
路径:Plugins/Fiendwar/FiendwarPartyInfo.nut
|
||||
创建日期:2024-03-27 19:18
|
||||
文件用途:超时空攻坚队队伍信息窗口
|
||||
*/
|
||||
class FiendwarPartyInfoC extends LenheartNewUI_Windows {
|
||||
//调试模式
|
||||
// DeBugMode = true;
|
||||
|
||||
//队员列表
|
||||
MembersList = null;
|
||||
|
||||
//队伍名称
|
||||
TeamName = "";
|
||||
//队伍ID
|
||||
TeamID = 99999999;
|
||||
|
||||
//是否是我的攻坚队
|
||||
IsMyTeam = false;
|
||||
//是否是队长
|
||||
IsCaptain = false;
|
||||
|
||||
|
||||
|
||||
//收到请求加入攻坚队包
|
||||
function JoinTeamCallBack(Chunk) {
|
||||
// Sout("收到请求加入包 : \n\n\n %L", Chunk);
|
||||
local Jso = Json.Decode(Chunk);
|
||||
local win = LenheartNewUI_CreateWindow(FiendwarHallApplyJoinC, "超时空申请加入队伍窗口", 542, 348, 257, 240, 18);
|
||||
win.Visible = true;
|
||||
win.ResetFocus();
|
||||
local T = {
|
||||
Charc = Jso.charac, //角色对象
|
||||
Level = Jso.charac.PlayerLevel,
|
||||
Name = Jso.charac.PlayerName,
|
||||
Job = Jso.charac.PlayerJob,
|
||||
PvpLevel = Jso.charac.pvp,
|
||||
JobName = Jso.charac.PlayerGrowTypeJob,
|
||||
Coin = Jso.charac.PlayCoin,
|
||||
Fatigue = Jso.charac.PlayFatigue,
|
||||
Combat = Jso.charac.ZL,
|
||||
ClearanceCount = Jso.charac.ClearanceCount,
|
||||
AvatarArr = Jso.charac.equVos,
|
||||
PlayerSession = Jso.charac.PlayerSession
|
||||
}
|
||||
//没人
|
||||
if (win.RequestJoinTeamArr.len() == 0) {
|
||||
win.RequestJoinTeamArr.append(T);
|
||||
win.InitInfo();
|
||||
} else win.RequestJoinTeamArr.append(T);
|
||||
}
|
||||
|
||||
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
|
||||
Childrens = [];
|
||||
//注册控件
|
||||
// RegisterWidget();
|
||||
|
||||
LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
|
||||
|
||||
|
||||
Pack_Control.rawset(20063006, JoinTeamCallBack.bindenv(this));
|
||||
|
||||
}
|
||||
|
||||
function RegisterWidget() {
|
||||
//清除老的按钮在刷新
|
||||
RemoveChilds(FiendwarPartyInfoMemberC, false);
|
||||
//关闭按钮
|
||||
local CloseButton = LenheartNewUI_BaseButton(336, 0, 11, 12, "interface/lenheartwindowcommon.img", 276);
|
||||
CloseButton.OnClick = function() {
|
||||
CloseWindow();
|
||||
}.bindenv(this);
|
||||
AddChild(CloseButton);
|
||||
|
||||
|
||||
//队伍按钮
|
||||
local ModelButton = LenheartNewUI_ButtonText(9, 60, -18, "队伍");
|
||||
ModelButton.Idx = 163;
|
||||
ModelButton.DWidth = -8;
|
||||
ModelButton.SetTextOffset(-9, 1);
|
||||
AddChild(ModelButton);
|
||||
|
||||
//等级按钮
|
||||
local StateButton = LenheartNewUI_ButtonText(51, 60, -18, "等级");
|
||||
StateButton.Idx = 163;
|
||||
StateButton.DWidth = -8;
|
||||
StateButton.SetTextOffset(-9, 1);
|
||||
AddChild(StateButton);
|
||||
|
||||
//角色名按钮
|
||||
local ChannelButton = LenheartNewUI_ButtonText(93, 60, 44, "角色名");
|
||||
ChannelButton.Idx = 163;
|
||||
ChannelButton.DWidth = 120;
|
||||
ChannelButton.FillWidth = 1;
|
||||
ChannelButton.FirstWidth = 21;
|
||||
ChannelButton.SetTextOffset(17, 1);
|
||||
AddChild(ChannelButton);
|
||||
|
||||
//攻坚队名称按钮
|
||||
local PartyNameButton = LenheartNewUI_ButtonText(196, 60, 36, "职业名");
|
||||
PartyNameButton.Idx = 163;
|
||||
PartyNameButton.DWidth = 100;
|
||||
PartyNameButton.FillWidth = 1;
|
||||
PartyNameButton.FirstWidth = 21;
|
||||
PartyNameButton.SetTextOffset(11, 1);
|
||||
AddChild(PartyNameButton);
|
||||
|
||||
//入场材料按钮
|
||||
local Striiu = "入场材料";
|
||||
if (FiendwarTotal.GetInstance().EndTime) Striiu = "通关次数";
|
||||
local StageButton = LenheartNewUI_ButtonText(289, 60, 0, Striiu);
|
||||
StageButton.Idx = 163;
|
||||
StageButton.DWidth = 26;
|
||||
StageButton.FillWidth = 1;
|
||||
StageButton.FirstWidth = 21;
|
||||
StageButton.SetTextOffset(-14, 1);
|
||||
AddChild(StageButton);
|
||||
|
||||
//如果不是我的队伍 并且我没有攻坚队
|
||||
if (!IsMyTeam && !FiendwarTotal.GetInstance().MyPartyId) {
|
||||
local JoinPartyButton = LenheartNewUI_ButtonText(10, 268, 10, "参加攻坚队");
|
||||
JoinPartyButton.SetTextOffset(-15, 1);
|
||||
JoinPartyButton.OnClick = function() {
|
||||
local T = {
|
||||
op = 20063005,
|
||||
teamsId = TeamID,
|
||||
items = [L_sq_GetCharacterAttribute(0x1c, 21), L_sq_GetCharacterAttribute(0x1c, 15), L_sq_GetCharacterAttribute(0x1c, 14), L_sq_GetCharacterAttribute(0x1c, 13)],
|
||||
}
|
||||
Rindro_BaseToolClass.SendPackEx(T);
|
||||
}.bindenv(this);
|
||||
AddChild(JoinPartyButton);
|
||||
}
|
||||
|
||||
//如果是我的队伍
|
||||
if (IsMyTeam) {
|
||||
//退出按钮
|
||||
local ExitButton = LenheartNewUI_ButtonText(220, 268, 5, "退出");
|
||||
ExitButton.SetTextOffset(-1, 1);
|
||||
ExitButton.OnClick = function() {
|
||||
local T = {
|
||||
op = 20063009,
|
||||
teamsId = TeamID
|
||||
}
|
||||
Rindro_BaseToolClass.SendPackEx(T);
|
||||
FiendwarTotal.GetInstance().MyCid = null;
|
||||
FiendwarTotal.GetInstance().MyPartyId = null;
|
||||
FiendwarTotal.GetInstance().IsCaptain = null;
|
||||
}.bindenv(this);
|
||||
AddChild(ExitButton);
|
||||
|
||||
if (IsCaptain) {
|
||||
//队伍编制按钮
|
||||
local PartyEditButton = LenheartNewUI_ButtonText(10, 268, 5, "队伍编制");
|
||||
PartyEditButton.SetTextOffset(-12, 1);
|
||||
PartyEditButton.OnClick = function() {
|
||||
local win = LenheartNewUI_CreateWindow(FiendwarPartyFormation, "超时空我的队伍编队窗口", 105, 40, 294, 192, 18);
|
||||
win.Visible = true;
|
||||
}.bindenv(this);
|
||||
AddChild(PartyEditButton);
|
||||
|
||||
//修改信息按钮
|
||||
local FqButton = LenheartNewUI_ButtonText(100, 267, 5, "修改信息");
|
||||
FqButton.State = 8;
|
||||
FqButton.SetTextOffset(-12, 1);
|
||||
AddChild(FqButton);
|
||||
|
||||
//队伍招募按钮
|
||||
local FqButton1 = LenheartNewUI_ButtonText(160, 267, 5, "队伍招募");
|
||||
FqButton1.State = 8;
|
||||
FqButton1.SetTextOffset(-12, 1);
|
||||
AddChild(FqButton1);
|
||||
|
||||
if (!FiendwarTotal.GetInstance().EndTime) {
|
||||
//队伍招募按钮
|
||||
local FightOpenButton = LenheartNewUI_ButtonText(290, 268, 5, "开始攻坚");
|
||||
FightOpenButton.SetTextOffset(-12, 1);
|
||||
FightOpenButton.OnClick = function() {
|
||||
local T = {
|
||||
op = 20063051,
|
||||
teamsId = TeamID
|
||||
}
|
||||
Rindro_BaseToolClass.SendPackEx(T);
|
||||
}.bindenv(this);
|
||||
AddChild(FightOpenButton);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//绘制主界面
|
||||
function DrawMain(obj) {
|
||||
//标题栏
|
||||
L_sq_DrawButton(X, Y, 344, "interface/lenheartwindowcommon.img", 609, 2, 7);
|
||||
//绘制队伍名字
|
||||
L_sq_DrawCode(TeamName, X + 178 - LenheartTextClass.GetStringLength(TeamName) / 2, Y + 5, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
|
||||
//Item信息框一般为211的宽度
|
||||
L_sq_DrawWindow(X, Y + 17, 340, 250, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13);
|
||||
//绘制头图
|
||||
L_sq_DrawImg("interface2/gcontents/180621_fiendwar/raid/memberwindow.img", 0, X + 10, Y + 24);
|
||||
//绘制阶段图 //TODO 根据阶段绘制img
|
||||
L_sq_DrawImg("hud/fiendwarl.img", 7, X + 296, Y + 34);
|
||||
|
||||
//绘制队伍List
|
||||
DrawMembersList(obj);
|
||||
}
|
||||
|
||||
//绘制队伍信息
|
||||
function DrawMembersList(obj) {
|
||||
if (MembersList.len() <= 0) return;
|
||||
//遍历需要显示的同步坐标
|
||||
foreach(Index, TeamObj in MembersList) {
|
||||
TeamObj.SyncPos(X, Y + 2 + Index * 23);
|
||||
}
|
||||
}
|
||||
|
||||
function Show(obj) {
|
||||
DrawMain(obj);
|
||||
LenheartNewUI_Windows.Show(obj);
|
||||
|
||||
}
|
||||
|
||||
//逻辑入口
|
||||
function Proc(obj) {
|
||||
LenheartNewUI_Windows.SyncPos(X, Y);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
# override # "
|
||||
* @函数作用:
|
||||
* @参数 name
|
||||
* @返回值
|
||||
*/
|
||||
//鼠标左键弹起回调
|
||||
function OnMouseLbUp(MousePos_X, MousePos_Y) {
|
||||
foreach(Window in Childrens) {
|
||||
Window.OnMouseLbUp(MousePos_X, MousePos_Y);
|
||||
}
|
||||
LenheartNewUI_Windows.OnMouseLbUp(MousePos_X, MousePos_Y);
|
||||
//判断没有点到具体角色就隐藏
|
||||
if (!sq_IsIntersectRect(MousePos_X, MousePos_Y, 1, 1, X, Y + 80, Width, MembersList.len() * 21)) {
|
||||
//交互窗口需要隐藏
|
||||
local Each = LenheartNewUI_CreateWindow(FiendwarHallPlayerInteractiveC, "超时空玩家交互", X, Y, 100, 21, 0);
|
||||
Each.Visible = false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -1,188 +0,0 @@
|
|||
/*
|
||||
文件名:FiendwarPartyMemberInfo.nut
|
||||
路径:Plugins/Fiendwar/FiendwarPartyMemberInfo.nut
|
||||
创建日期:2024-04-02 10:49
|
||||
文件用途:攻坚队详细信息中的队员显示类
|
||||
*/
|
||||
//队员显示类
|
||||
class FiendwarPartyInfoMemberC extends LenheartNewUI_CommonUi {
|
||||
X = 0;
|
||||
Y = 0;
|
||||
Width = null;
|
||||
Height = null;
|
||||
InfoObj = null;
|
||||
|
||||
//构造时间
|
||||
ConstructorTime = null;
|
||||
//选中状态
|
||||
SelectState = false;
|
||||
//攻坚状态
|
||||
OffensiveState = 0;
|
||||
//头像框的颜色
|
||||
HandBoxColor = [
|
||||
0xff717272,
|
||||
0xff7b2a29,
|
||||
0xff874e0d,
|
||||
0xff8b8108,
|
||||
0xff658e2d,
|
||||
0xff0f5c8a,
|
||||
0xff27238f,
|
||||
0xff4e2491,
|
||||
0xff932586,
|
||||
]
|
||||
|
||||
//X Y 裁切开始X Y 裁切结束X Y
|
||||
OffsetArr = [
|
||||
//男鬼剑士
|
||||
[45, 103, 230, 231],
|
||||
//女格斗家
|
||||
[56, 102, 235, 279],
|
||||
//男神枪手
|
||||
[52, 130, 238, 246],
|
||||
//女魔法师
|
||||
[55, 87, 234, 293],
|
||||
//男圣职者
|
||||
[42, 115, 223, 200],
|
||||
//女神枪手
|
||||
[52, 119, 226, 209],
|
||||
//暗夜使者
|
||||
[56, 102, 225, 226],
|
||||
//男格斗家
|
||||
[50, 114, 239, 216],
|
||||
//男魔法师
|
||||
[54, 103, 236, 276],
|
||||
//黑暗武士
|
||||
[46, 102, 229, 232],
|
||||
//缔造者
|
||||
[56, 86, 235, 293],
|
||||
]
|
||||
|
||||
constructor(gInfoObj) {
|
||||
ConstructorTime = Clock();
|
||||
|
||||
InfoObj = gInfoObj;
|
||||
this.Width = 458;
|
||||
this.Height = 21;
|
||||
|
||||
this.OnClick = function() {
|
||||
//还原其他 选中自己
|
||||
foreach(Obj in Parent.MembersList) {
|
||||
Obj.SelectState = false;
|
||||
}
|
||||
SelectState = !SelectState;
|
||||
|
||||
local win = LenheartNewUI_CreateWindow(FiendwarPartyFormation, "超时空我的队伍编队窗口", 105, 40, 294, 192, 18);
|
||||
//编队状态
|
||||
if (win.PartyMarkFlag != -1) {
|
||||
//并且是属于我的攻坚队的成员
|
||||
if (FiendwarTotal.GetInstance().MyPartyId == InfoObj.PartyId) {
|
||||
local T = {
|
||||
op = 20063015,
|
||||
teamsId = InfoObj.PartyId,
|
||||
cidNew = InfoObj.Cid,
|
||||
num = win.PartyMarkFlag
|
||||
}
|
||||
Rindro_BaseToolClass.SendPackEx(T);
|
||||
win.PartyMarkFlag = -1;
|
||||
L_sq_WA(0x1b46898, 0);
|
||||
return;
|
||||
}
|
||||
//点了其他队伍成员要还原编队状态
|
||||
else {
|
||||
win.PartyMarkFlag = -1;
|
||||
L_sq_WA(0x1b46898, 0);
|
||||
}
|
||||
}
|
||||
|
||||
local Interactive = LenheartNewUI_CreateWindow(FiendwarHallPlayerInteractiveC, "超时空玩家交互", 0, 0, 100, 21, 0);
|
||||
//改变鼠标坐标
|
||||
Interactive.X = MousePos_X;
|
||||
Interactive.Y = MousePos_Y;
|
||||
//赋值对象参数
|
||||
Interactive.InfoObj = InfoObj;
|
||||
//对象不是我
|
||||
if (InfoObj.Cid == FiendwarTotal.GetInstance().MyCid) {
|
||||
Interactive.InfoObj.IsMyself <- true;
|
||||
}
|
||||
//刷新UI
|
||||
Interactive.InitInfo();
|
||||
}
|
||||
LenheartNewUI_CommonUi.constructor(10, 82, this.Width, this.Height);
|
||||
|
||||
|
||||
//如果没有材料要建立一个购买材料的Button 并且要判断是否是自己 //TODO 这里还不行 要拓展一个函数来比对名字
|
||||
/*
|
||||
local Name = L_Sq_GetObjectName(sq_GetMyMasterCharacter());
|
||||
local Name2 = "夜刃";
|
||||
Name == Name2 失败了
|
||||
*/
|
||||
// if (!InfoObj.StkHasFlag && InfoObj.Name == L_Sq_GetObjectName(sq_GetMyMasterCharacter())) {
|
||||
|
||||
// }
|
||||
}
|
||||
|
||||
function Show(obj) {
|
||||
//绘制底槽
|
||||
L_sq_DrawImg("hud/fiendwarl.img", 12, X, Y);
|
||||
|
||||
//绘制队伍编号
|
||||
L_sq_DrawImg("interface/newstyle/windows/party/party_icon.img", InfoObj.TeamId * 3, X, Y + 1);
|
||||
|
||||
sq_DrawBox(X + 42, Y + 1, 22, 18, HandBoxColor[InfoObj.TeamId]);
|
||||
//绘制队长头像
|
||||
foreach(AvatarObj in InfoObj.EquVos) {
|
||||
local AXpos = AvatarObj.D[0] + X + OffsetArr[InfoObj.Job][0];
|
||||
local AYpos = AvatarObj.D[1] + Y + OffsetArr[InfoObj.Job][1];
|
||||
setClip(AXpos + OffsetArr[InfoObj.Job][2], AYpos + OffsetArr[InfoObj.Job][3], AXpos + OffsetArr[InfoObj.Job][2] + 22, AYpos + OffsetArr[InfoObj.Job][3] + 18); //开始裁切
|
||||
L_sq_DrawImg("character/" + AvatarObj.B + ".img", AvatarObj.C, AXpos, AYpos);
|
||||
releaseClip(); //裁切结束
|
||||
// }
|
||||
}
|
||||
|
||||
if (InfoObj.Captain) L_sq_DrawImg("hud/fiendwarl.img", 18, X + 42, Y + 1);
|
||||
|
||||
|
||||
//绘制等级
|
||||
L_sq_DrawCode(InfoObj.Level, X + 76 - LenheartTextClass.GetStringLength(InfoObj.Level) / 2, Y + 5, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
//绘制角色名
|
||||
L_sq_DrawCode(InfoObj.Name, X + 138 - LenheartTextClass.GetStringLength(InfoObj.Name) / 2, Y + 5, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
//绘制职业名
|
||||
L_sq_DrawCode(InfoObj.JobName, X + 234 - LenheartTextClass.GetStringLength(InfoObj.JobName) / 2, Y + 5, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
|
||||
|
||||
//离线了
|
||||
if (InfoObj.ExitTime > 0) {
|
||||
local DrawTime = InfoObj.ExitTime - (Clock() - ConstructorTime);
|
||||
local seconds = (DrawTime / 1000) % 60; // 计算秒数
|
||||
local minutes = (DrawTime / (1000 * 60)) % 60; // 计算分钟数
|
||||
local DrawTimeStr = format("%02d分%02d秒", minutes, seconds);
|
||||
|
||||
L_sq_DrawCode(DrawTimeStr, X + 306 - LenheartTextClass.GetStringLength(DrawTimeStr) / 2, Y + 5, sq_RGBA(255, 50, 50, 255), 0, 1);
|
||||
}
|
||||
//通关次数
|
||||
else if (InfoObj.ClearanceCount > 0) {
|
||||
L_sq_DrawCode((InfoObj.ClearanceCount - 1) + "/" + (InfoObj.ClearanceCountMax), X + 306 - LenheartTextClass.GetStringLength((InfoObj.ClearanceCount - 1) + "/" + (InfoObj.ClearanceCountMax)) / 2, Y + 5, sq_RGBA(250, 250, 181, 255), 0, 1);
|
||||
} else if (InfoObj.StkHasFlag) {
|
||||
L_sq_DrawImg("hud/fiendwarlstk.img", 0, X + 280, Y + 3);
|
||||
} else {
|
||||
L_sq_DrawImg("hud/fiendwarlstk.img", 1, X + 280, Y + 3);
|
||||
}
|
||||
|
||||
if (SelectState) {
|
||||
L_sq_DrawImg("hud/fiendwarl.img", 13, X, Y);
|
||||
}
|
||||
|
||||
if (isInRect) {
|
||||
L_sq_DrawImg("hud/fiendwarl.img", 13, X, Y);
|
||||
}
|
||||
}
|
||||
|
||||
MousePos_X = 0;
|
||||
MousePos_Y = 0;
|
||||
//鼠标事件回调
|
||||
function OnMouseProc(Flag, gMousePos_X, gMousePos_Y) {
|
||||
this.MousePos_X = gMousePos_X;
|
||||
this.MousePos_Y = gMousePos_Y;
|
||||
LenheartNewUI_CommonUi.OnMouseProc(Flag, gMousePos_X, gMousePos_Y);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,227 +0,0 @@
|
|||
/*
|
||||
文件名:FiendwarPlayerInteractive.nut
|
||||
路径:Plugins/Fiendwar/FiendwarPlayerInteractive.nut
|
||||
创建日期:2024-04-02 10:55
|
||||
文件用途:超时空玩家交互
|
||||
*/
|
||||
//角色交互按钮需要传递参数所以重写
|
||||
class FiendwarPlayerInteractive_BaseButton extends LenheartNewUI_BaseButton {
|
||||
|
||||
OnShow = null;
|
||||
|
||||
constructor(X, Y, W, H, Path, Idx) {
|
||||
|
||||
LenheartNewUI_BaseButton.constructor(X, Y, W, H, Path, Idx);
|
||||
}
|
||||
|
||||
//鼠标左键弹起回调
|
||||
function OnMouseLbUp(MousePos_X, MousePos_Y) {
|
||||
Y--;
|
||||
if (isLBDown && OnClick) {
|
||||
OnClick();
|
||||
}
|
||||
isLBDown = false;
|
||||
local Each = LenheartNewUI_CreateWindow(FiendwarHallPlayerInteractiveC, "超时空玩家交互", X, Y, 100, 21, 0);
|
||||
Each.Visible = false;
|
||||
}
|
||||
|
||||
function Show(obj) {
|
||||
//不可用
|
||||
if (State == 8) {
|
||||
L_sq_DrawImg(Path, Idx + 3, X, Y + 1);
|
||||
} else {
|
||||
//按下
|
||||
if (isLBDown) {
|
||||
Y++;
|
||||
L_sq_DrawImg(Path, (Idx * 2) + 2, X, Y);
|
||||
}
|
||||
//悬停
|
||||
else if (isInRect) {
|
||||
L_sq_DrawImg(Path, (Idx * 2) + 1, X, Y);
|
||||
}
|
||||
//普通
|
||||
else {
|
||||
L_sq_DrawImg(Path, 0, X, Y);
|
||||
}
|
||||
}
|
||||
if (OnShow) OnShow(X, Y);
|
||||
}
|
||||
}
|
||||
|
||||
//角色交互类
|
||||
class FiendwarHallPlayerInteractiveC extends LenheartNewUI_Windows {
|
||||
// DeBugMode = true;
|
||||
|
||||
//信息对象
|
||||
InfoObj = null;
|
||||
|
||||
//初始化Flag 初始化以后才显示
|
||||
InitInfoFlag = false;
|
||||
|
||||
//有多少个标签
|
||||
InitIndexFlag = 1;
|
||||
|
||||
//头像框颜色
|
||||
HandBoxColor = [
|
||||
0xff717272,
|
||||
0xff7b2a29,
|
||||
0xff874e0d,
|
||||
0xff8b8108,
|
||||
0xff658e2d,
|
||||
0xff0f5c8a,
|
||||
0xff27238f,
|
||||
0xff4e2491,
|
||||
0xff932586,
|
||||
]
|
||||
|
||||
//X Y 裁切开始X Y 裁切结束X Y
|
||||
OffsetArr = [
|
||||
//男鬼剑士
|
||||
[45, 103, 230, 231],
|
||||
//女格斗家
|
||||
[56, 102, 235, 279],
|
||||
//男神枪手
|
||||
[52, 130, 238, 246],
|
||||
//女魔法师
|
||||
[55, 87, 234, 293],
|
||||
//男圣职者
|
||||
[42, 115, 223, 200],
|
||||
//女神枪手
|
||||
[52, 119, 226, 209],
|
||||
//暗夜使者
|
||||
[56, 102, 225, 226],
|
||||
//男格斗家
|
||||
[50, 114, 239, 216],
|
||||
//男魔法师
|
||||
[54, 103, 236, 276],
|
||||
//黑暗武士
|
||||
[46, 102, 229, 232],
|
||||
//缔造者
|
||||
[56, 86, 235, 293],
|
||||
]
|
||||
|
||||
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
|
||||
Childrens = [];
|
||||
LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
|
||||
}
|
||||
|
||||
//初始化信息
|
||||
function InitInfo() {
|
||||
Childrens = [];
|
||||
//还原标签数量
|
||||
InitIndexFlag = 1;
|
||||
//还原高度
|
||||
Height = 21;
|
||||
//还原可见性
|
||||
Visible = true;
|
||||
//置顶窗口
|
||||
ResetFocus();
|
||||
RegisterWidget();
|
||||
InitInfoFlag = true;
|
||||
}
|
||||
|
||||
function RegisterWidget() {
|
||||
|
||||
|
||||
//是团长才能委任 并且不是我自己 并且我们在同一个攻坚队
|
||||
if (FiendwarTotal.GetInstance().IsCaptain && !("IsMyself" in InfoObj) && FiendwarTotal.GetInstance().MyPartyId == InfoObj.PartyId) {
|
||||
//委任团长按钮
|
||||
local GiveMasterButton = FiendwarPlayerInteractive_BaseButton(0, 0 + (InitIndexFlag * 21), 100, 21, "interface2/popup_menu/popup_back.img", 0);
|
||||
GiveMasterButton.OnShow = function(X, Y) {
|
||||
L_sq_DrawImg("interface2/popup_menu/popup_icon_character.img", 11, X, Y + 2);
|
||||
L_sq_DrawCode("委任团长", X + 36, Y + 5, sq_RGBA(104, 213, 237, 255), 0, 1);
|
||||
}
|
||||
GiveMasterButton.OnClick = function() {
|
||||
|
||||
}.bindenv(this);
|
||||
AddChild(GiveMasterButton);
|
||||
InitIndexFlag++;
|
||||
Height += 21;
|
||||
}
|
||||
|
||||
//查看信息按钮
|
||||
local CheckInfoButton = FiendwarPlayerInteractive_BaseButton(0, 0 + (InitIndexFlag * 21), 100, 21, "interface2/popup_menu/popup_back.img", 0);
|
||||
CheckInfoButton.OnShow = function(X, Y) {
|
||||
L_sq_DrawImg("interface2/popup_menu/popup_icon_character.img", 10, X, Y + 2);
|
||||
L_sq_DrawCode("查看信息", X + 36, Y + 5, sq_RGBA(104, 213, 237, 255), 0, 1);
|
||||
}
|
||||
CheckInfoButton.OnClick = function() {
|
||||
local obj = sq_GetMyMasterCharacter();
|
||||
//obj.sq_PlaySound("CLICK_BUTTON1");
|
||||
L_sq_SendPackType(8);
|
||||
L_sq_SendPackWord(InfoObj.PlayerSession);
|
||||
L_sq_SendPackByte(3);
|
||||
L_sq_SendPack();
|
||||
getroottable().WindowsShowABFlag <- false; //让原生窗口置顶
|
||||
}.bindenv(this);
|
||||
AddChild(CheckInfoButton);
|
||||
InitIndexFlag++;
|
||||
Height += 21;
|
||||
|
||||
if (!("IsMyself" in InfoObj)) {
|
||||
//交易按钮
|
||||
local TransactionButton = FiendwarPlayerInteractive_BaseButton(0, 0 + (InitIndexFlag * 21), 100, 21, "interface2/popup_menu/popup_back.img", 0);
|
||||
TransactionButton.OnShow = function(X, Y) {
|
||||
L_sq_DrawImg("interface2/popup_menu/popup_icon_character.img", 0, X, Y + 2);
|
||||
L_sq_DrawCode("交易", X + 46, Y + 5, sq_RGBA(104, 213, 237, 255), 0, 1);
|
||||
}
|
||||
TransactionButton.OnClick = function() {
|
||||
local obj = sq_GetMyMasterCharacter();
|
||||
//obj.sq_PlaySound("CLICK_BUTTON1");
|
||||
L_sq_SendPackType(10);
|
||||
L_sq_SendPackWord(InfoObj.PlayerSession);
|
||||
L_sq_SendPackByte(1);
|
||||
L_sq_SendPackDWord(22053);
|
||||
L_sq_SendPack();
|
||||
getroottable().WindowsShowABFlag <- false; //让原生窗口置顶
|
||||
}.bindenv(this);
|
||||
AddChild(TransactionButton);
|
||||
InitIndexFlag++;
|
||||
Height += 21;
|
||||
|
||||
|
||||
if (FiendwarTotal.GetInstance().IsCaptain && FiendwarTotal.GetInstance().MyPartyId == InfoObj.PartyId) {
|
||||
//攻坚队员强退按钮
|
||||
local KickMemberButton = FiendwarPlayerInteractive_BaseButton(0, 0 + (InitIndexFlag * 21), 100, 21, "interface2/popup_menu/popup_back.img", 4);
|
||||
KickMemberButton.OnShow = function(X, Y) {
|
||||
L_sq_DrawImg("interface2/popup_menu/popup_icon_warning.img", 3, X, Y + 2);
|
||||
L_sq_DrawCode("攻坚队员强退", X + 24, Y + 5, sq_RGBA(255, 50, 50, 255), 0, 1);
|
||||
}
|
||||
KickMemberButton.OnClick = function() {
|
||||
local obj = sq_GetMyMasterCharacter();
|
||||
//obj.sq_PlaySound("CLICK_BUTTON1");
|
||||
local T = {
|
||||
op = 20063021,
|
||||
teamsId = InfoObj.PartyId,
|
||||
charCid = InfoObj.Cid
|
||||
}
|
||||
Rindro_BaseToolClass.SendPackEx(T);
|
||||
}.bindenv(this);
|
||||
AddChild(KickMemberButton);
|
||||
InitIndexFlag++;
|
||||
Height += 21;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function Show(obj) {
|
||||
if (!InitInfoFlag) return;
|
||||
L_sq_DrawImg("interface2/popup_menu/popup_back.img", 0, X, Y);
|
||||
//绘制角色名
|
||||
L_sq_DrawCode(InfoObj.Name, X + 61 - LenheartTextClass.GetStringLength(InfoObj.Name) / 2, Y + 4, sq_RGBA(169, 255, 171, 255), 0, 1);
|
||||
//绘制头像
|
||||
foreach(AvatarObj in InfoObj.EquVos) {
|
||||
local AXpos = AvatarObj.D[0] + X + OffsetArr[InfoObj.Job][0] - 40;
|
||||
local AYpos = AvatarObj.D[1] + Y + OffsetArr[InfoObj.Job][1];
|
||||
setClip(AXpos + OffsetArr[InfoObj.Job][2], AYpos + OffsetArr[InfoObj.Job][3], AXpos + OffsetArr[InfoObj.Job][2] + 22, AYpos + OffsetArr[InfoObj.Job][3] + 18); //开始裁切
|
||||
L_sq_DrawImg("character/" + AvatarObj.B + ".img", AvatarObj.C, AXpos, AYpos);
|
||||
releaseClip(); //裁切结束
|
||||
}
|
||||
|
||||
LenheartNewUI_Windows.Show(obj);
|
||||
}
|
||||
|
||||
function Proc(obj) {
|
||||
LenheartNewUI_Windows.SyncPos(X, Y);
|
||||
}
|
||||
}
|
||||
|
|
@ -265,14 +265,15 @@ class FiendRewardC extends LenheartNewUI_Windows {
|
|||
local YOffset = -31 + Flag2;
|
||||
sq_DrawBox(X + 30 + XOffset, Y + 1 + YOffset, 22, 18, PartyMasterIcon.HandBoxColor[PartyMasterIcon.InfoObj.TeamId]);
|
||||
|
||||
//绘制队长头像
|
||||
foreach(AvatarObj in PartyMasterIcon.InfoObj.EquVos) {
|
||||
local AXpos = AvatarObj.F[0][2] + X + PartyMasterIcon.OffsetArr[PartyMasterIcon.InfoObj.Job][0] + XOffset - 12;
|
||||
local AYpos = AvatarObj.F[1][3] + Y + PartyMasterIcon.OffsetArr[PartyMasterIcon.InfoObj.Job][1] + YOffset;
|
||||
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); //开始裁切
|
||||
DrawImg("character/" + AvatarObj.B + ".img", AvatarObj.F[0][0], AXpos, AYpos);
|
||||
releaseClip(); //裁切结束
|
||||
}
|
||||
// //绘制队长头像
|
||||
// foreach(AvatarObj in PartyMasterIcon.InfoObj.EquVos) {
|
||||
// local AXpos = AvatarObj.F[0][2] + X + PartyMasterIcon.OffsetArr[PartyMasterIcon.InfoObj.Job][0] + XOffset - 12;
|
||||
// local AYpos = AvatarObj.F[1][3] + Y + PartyMasterIcon.OffsetArr[PartyMasterIcon.InfoObj.Job][1] + YOffset;
|
||||
// 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); //开始裁切
|
||||
// DrawImg("character/" + AvatarObj.B + ".img", AvatarObj.F[0][0], AXpos, AYpos);
|
||||
// releaseClip(); //裁切结束
|
||||
// }
|
||||
|
||||
local DrawName = PartyMasterIcon.InfoObj.Name;
|
||||
//绘制名字
|
||||
L_sq_DrawCode(DrawName, X + XOffset + 100 - LenheartTextClass.GetStringLength(DrawName) / 2, Y + YOffset + 4, sq_RGBA(247, 214, 90, 250), 0, 1);
|
||||
|
|
|
|||
|
|
@ -326,14 +326,14 @@ class FiendwarFightSituationC extends LenheartNewUI_Windows {
|
|||
|
||||
sq_DrawBox(X + 30 + XOffset, Y + 1 + YOffset, 22, 18, PartyMasterIcon.HandBoxColor[PartyMasterIcon.InfoObj.TeamId]);
|
||||
|
||||
// //绘制队长头像
|
||||
foreach(AvatarObj in PartyMasterIcon.InfoObj.EquVos) {
|
||||
local AXpos = AvatarObj.F[0][2] + X + PartyMasterIcon.OffsetArr[PartyMasterIcon.InfoObj.Job][0] + XOffset - 12;
|
||||
local AYpos = AvatarObj.F[1][3] + Y + PartyMasterIcon.OffsetArr[PartyMasterIcon.InfoObj.Job][1] + YOffset;
|
||||
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); //开始裁切
|
||||
DrawImg("character/" + AvatarObj.B + ".img", AvatarObj.F[0][0], AXpos, AYpos);
|
||||
releaseClip(); //裁切结束
|
||||
}
|
||||
// // //绘制队长头像
|
||||
// foreach(AvatarObj in PartyMasterIcon.InfoObj.EquVos) {
|
||||
// local AXpos = AvatarObj.F[0][2] + X + PartyMasterIcon.OffsetArr[PartyMasterIcon.InfoObj.Job][0] + XOffset - 12;
|
||||
// local AYpos = AvatarObj.F[1][3] + Y + PartyMasterIcon.OffsetArr[PartyMasterIcon.InfoObj.Job][1] + YOffset;
|
||||
// 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); //开始裁切
|
||||
// DrawImg("character/" + AvatarObj.B + ".img", AvatarObj.F[0][0], AXpos, AYpos);
|
||||
// releaseClip(); //裁切结束
|
||||
// }
|
||||
|
||||
local RgbaValue = sq_RGBA(255, 255, 255, (250 * AlphaValue).tointeger());
|
||||
if (PartyMasterIcon.InfoObj.Captain) RgbaValue = sq_RGBA(247, 214, 90, (250 * AlphaValue).tointeger());
|
||||
|
|
|
|||
|
|
@ -67,14 +67,14 @@ class FiendwarNotiC extends LenheartNewUI_Windows {
|
|||
}
|
||||
|
||||
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(); //裁切结束
|
||||
}
|
||||
// //绘制队长头像
|
||||
// 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(); //裁切结束
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -205,13 +205,10 @@ class Rindro_FiendwarApplyJoinC extends LenheartNewUI_Windows {
|
|||
L_sq_DrawImg("hud/fiendwarl.img", 14, X + 8, Y + 40);
|
||||
//绘制角色头像
|
||||
if (AvatarArr) {
|
||||
foreach(AvatarObj in AvatarArr) {
|
||||
local AXpos = AvatarObj.F[0][2] + X + OffsetArr[Job][0] - 8;
|
||||
local AYpos = AvatarObj.F[0][3] + Y + OffsetArr[Job][1] + 40;
|
||||
setClip(AXpos + OffsetArr[Job][2], AYpos + OffsetArr[Job][3], AXpos + OffsetArr[Job][2] + 22, AYpos + OffsetArr[Job][3] + 18); //开始裁切
|
||||
L_sq_DrawImg("character/" + AvatarObj.B + ".img", AvatarObj.F[0][0], AXpos, AYpos);
|
||||
releaseClip(); //裁切结束
|
||||
}
|
||||
//绘制队长头像
|
||||
local AXpos = X + 42 - 8;
|
||||
local AYpos = Y + 1 + 40;
|
||||
AvatarArr.DrawFace(AXpos, AYpos);
|
||||
}
|
||||
//绘制角色等级
|
||||
L_sq_DrawCode(Level, X + 78 - LenheartTextClass.GetStringLength(Level) / 2, Y + 45, sq_RGBA(134, 120, 79, 255), 0, 1);
|
||||
|
|
|
|||
|
|
@ -132,14 +132,14 @@ class Rindro_FiendwarPartyInfoMemberC extends LenheartNewUI_CommonUi {
|
|||
L_sq_DrawImg("interface/newstyle/windows/party/party_icon.img", InfoObj.TeamId * 3, X, Y + 1);
|
||||
|
||||
sq_DrawBox(X + 42, Y + 1, 22, 18, HandBoxColor[InfoObj.TeamId]);
|
||||
//绘制队长头像
|
||||
foreach(AvatarObj in InfoObj.EquVos) {
|
||||
local AXpos = AvatarObj.F[0][2] + X + OffsetArr[InfoObj.Job][0];
|
||||
local AYpos = AvatarObj.F[0][3] + Y + OffsetArr[InfoObj.Job][1];
|
||||
setClip(AXpos + OffsetArr[InfoObj.Job][2], AYpos + OffsetArr[InfoObj.Job][3], AXpos + OffsetArr[InfoObj.Job][2] + 22, AYpos + OffsetArr[InfoObj.Job][3] + 18); //开始裁切
|
||||
L_sq_DrawImg("character/" + AvatarObj.B + ".img", AvatarObj.F[0][0], AXpos, AYpos);
|
||||
releaseClip(); //裁切结束
|
||||
}
|
||||
// //绘制队长头像
|
||||
// foreach(AvatarObj in InfoObj.EquVos) {
|
||||
// local AXpos = AvatarObj.F[0][2] + X + OffsetArr[InfoObj.Job][0];
|
||||
// local AYpos = AvatarObj.F[0][3] + Y + OffsetArr[InfoObj.Job][1];
|
||||
// setClip(AXpos + OffsetArr[InfoObj.Job][2], AYpos + OffsetArr[InfoObj.Job][3], AXpos + OffsetArr[InfoObj.Job][2] + 22, AYpos + OffsetArr[InfoObj.Job][3] + 18); //开始裁切
|
||||
// L_sq_DrawImg("character/" + AvatarObj.B + ".img", AvatarObj.F[0][0], AXpos, AYpos);
|
||||
// releaseClip(); //裁切结束
|
||||
// }
|
||||
|
||||
if (InfoObj.Captain) L_sq_DrawImg("hud/fiendwarl.img", 18, X + 42, Y + 1);
|
||||
|
||||
|
|
|
|||
|
|
@ -209,14 +209,14 @@ class Rindro_FiendwarPlayerInteractiveC extends LenheartNewUI_Windows {
|
|||
L_sq_DrawImg("interface2/popup_menu/popup_back.img", 0, X, Y);
|
||||
//绘制角色名
|
||||
L_sq_DrawCode(InfoObj.Name, X + 61 - LenheartTextClass.GetStringLength(InfoObj.Name) / 2, Y + 4, sq_RGBA(169, 255, 171, 255), 0, 1);
|
||||
//绘制头像
|
||||
foreach(AvatarObj in InfoObj.EquVos) {
|
||||
local AXpos = AvatarObj.F[0][2] + X + OffsetArr[InfoObj.Job][0] - 40;
|
||||
local AYpos = AvatarObj.F[0][3] + Y + OffsetArr[InfoObj.Job][1];
|
||||
setClip(AXpos + OffsetArr[InfoObj.Job][2], AYpos + OffsetArr[InfoObj.Job][3], AXpos + OffsetArr[InfoObj.Job][2] + 22, AYpos + OffsetArr[InfoObj.Job][3] + 18); //开始裁切
|
||||
L_sq_DrawImg("character/" + AvatarObj.B + ".img", AvatarObj.F[0][0], AXpos, AYpos);
|
||||
releaseClip(); //裁切结束
|
||||
}
|
||||
// //绘制头像
|
||||
// foreach(AvatarObj in InfoObj.EquVos) {
|
||||
// local AXpos = AvatarObj.F[0][2] + X + OffsetArr[InfoObj.Job][0] - 40;
|
||||
// local AYpos = AvatarObj.F[0][3] + Y + OffsetArr[InfoObj.Job][1];
|
||||
// setClip(AXpos + OffsetArr[InfoObj.Job][2], AYpos + OffsetArr[InfoObj.Job][3], AXpos + OffsetArr[InfoObj.Job][2] + 22, AYpos + OffsetArr[InfoObj.Job][3] + 18); //开始裁切
|
||||
// L_sq_DrawImg("character/" + AvatarObj.B + ".img", AvatarObj.F[0][0], AXpos, AYpos);
|
||||
// releaseClip(); //裁切结束
|
||||
// }
|
||||
|
||||
LenheartNewUI_Windows.Show(obj);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue