This commit is contained in:
2024-03-26 17:37:58 +08:00
parent af522dcecb
commit 80a89779cd
4 changed files with 648 additions and 186 deletions

View File

@@ -67,18 +67,21 @@ function LenheartFiendwar(obj) {
//攻坚队列表框
if (!RootTab.rawin("FiendwarHallCObj")) {
local Cobj = FiendwarHallC();
RootTab.rawset("FiendwarHallCObj", Cobj);
} else {
RootTab["FiendwarHallCObj"].Proc(obj);
RootTab["FiendwarHallCObj"].Draw(obj);
}
// //攻坚队列表框
// if (!RootTab.rawin("FiendwarHallCObj")) {
// local Cobj = FiendwarHallC();
// RootTab.rawset("FiendwarHallCObj", Cobj);
// } else {
// RootTab["FiendwarHallCObj"].Proc(obj);
// RootTab["FiendwarHallCObj"].Draw(obj);
// }
//创建队伍框
FiendwarHallCreatePartyC("超时空创建队伍窗口",290, 220, 284, 154, 18);
LenheartNewUI_CreateWindow(FiendwarHallC, "超时空攻坚队伍列表", 320, 40, 478, 434, 18);
// LenheartNewUI_CreateWindow(FiendwarHallCreatePartyC, "超时空创建队伍窗口", 290, 220, 284, 154, 18);
// if (!RootTab.rawin("FiendwarHallCreatePartyCObj")) {
// FiendwarHallCreatePartyC("超时空创建队伍窗口",290, 220, 200, 200, 20);
// // RootTab.rawset("FiendwarHallCreatePartyCObj", Cobj);

View File

@@ -99,7 +99,7 @@ class FiendwarHallTeamC extends BasicsDrawTool {
}
}
/*
class FiendwarHallC extends BasicsDrawTool {
WindowObj = null; //窗口对象
MainState = false; //主状态
@@ -377,4 +377,278 @@ class FiendwarHallC extends BasicsDrawTool {
MainState = false;
}
}
}
*/
class FiendwarHallC extends LenheartNewUI_Windows {
// DeBugMode = true;
WindowObj = null; //窗口对象
MainState = false; //主状态
X = 320;
Y = 40;
PartyList = null;
function GetInstance() {
return getroottable()["FiendwarHallCObj"];
}
function GetAllTeamCallBack(Chunk) {
// Sout("收到包 : \n %L", Chunk);
local Jso = Json.Decode(Chunk);
PartyList = [];
foreach(TeamsSimple in Jso.TeamSimList) {
local T = {
TeamId = TeamsSimple.TeamId.tostring(),
TeamName = TeamsSimple.TeamName,
TeamPlayerCount = TeamsSimple.TeamPlayerCount,
State = TeamsSimple.State
}
local TeamBuf = FiendwarHallTeamC(T);
PartyList.append(TeamBuf);
}
}
function GetAllTeamCall() {
local Jso = {
op = 20063011
}
SendPack(Jso);
}
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
Childrens = [];
//注册控件
RegisterWidget();
PartyList = [];
Pack_Control.rawset(20063002, GetAllTeamCallBack.bindenv(this));
GetAllTeamCall();
LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
// Visible = false;
}
MyChannelBtn = null;
OnlyPreparingBtn = null;
OnlyPreparingFlag = 1;
InputObject = null;
function RegisterWidget() {
//关闭按钮
local CloseButton = LenheartNewUI_BaseButton(457, 0, 11, 12, "interface/lenheartwindowcommon.img", 276);
CloseButton.OnClick = function ()
{
this.Visible = false;
}.bindenv(this);
Childrens.append(CloseButton);
}
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 + 56, 528 * 0.85, 384 * 0.85, "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);
//我的频道
if (!MyChannelBtn) {
MyChannelBtn = LenheartcommonSwitchButtonText(X + 16, Y + 30, "我的频道");
MyChannelBtn.State = 1;
MyChannelBtn.ImgIndex = 358;
MyChannelBtn.SetTextPos(12, 2);
MyChannelBtn.Width = 76;
MyChannelBtn.Height = 16;
}
MyChannelBtn.SyncPos(X + 16, Y + 30);
MyChannelBtn.Show();
//只查看招募中的攻坚队
if (!OnlyPreparingBtn) {
OnlyPreparingBtn = LenheartcommonSwitchButtonText(X + 50, Y + 30, "只查看招募中的攻坚队");
OnlyPreparingBtn.ImgIndex = 358;
OnlyPreparingBtn.SetTextPos(12, 2);
OnlyPreparingBtn.Width = 76;
OnlyPreparingBtn.Height = 16;
}
OnlyPreparingBtn.SyncPos(X + 110, Y + 30);
OnlyPreparingBtn.Show();
if (OnlyPreparingBtn.isLBActive()) {
switch (OnlyPreparingFlag) {
case 0:
OnlyPreparingFlag = 1;
break;
case 1:
OnlyPreparingFlag = 0;
break;
}
}
OnlyPreparingBtn.State = OnlyPreparingFlag;
if (!InputObject) InputObject = LenheartBaseInput(X + 260, Y + 31, 80, 20);
else {
InputObject.SyncPos(X + 260, Y + 31);
InputObject.Show();
}
local FindButton = LenheartButtonText(X + 348, Y + 28, 5, "搜索");
FindButton.SetTextOffset(0, 1);
FindButton.Show();
if (FindButton.isLBActive()) {
}
local ResetButton = LenheartButtonText(X + 408, Y + 28, 5, "重置");
ResetButton.SetTextOffset(0, 1);
ResetButton.Show();
if (ResetButton.isLBActive()) {
InputObject.str = "";
}
local ModelButton = LenheartButtonText(X + 9, Y + 56, -18, "编号");
ModelButton.Idx = 163;
ModelButton.DWidth = -8;
ModelButton.SetTextOffset(-9, 1);
ModelButton.Show();
local StateButton = LenheartButtonText(X + 51, Y + 56, -18, "状态");
StateButton.Idx = 163;
StateButton.DWidth = -8;
StateButton.SetTextOffset(-9, 1);
StateButton.Show();
local ChannelButton = LenheartButtonText(X + 93, Y + 56, -18, "频道");
ChannelButton.Idx = 163;
ChannelButton.DWidth = -8;
ChannelButton.SetTextOffset(-9, 1);
ChannelButton.Show();
local PartyNameButton = LenheartButtonText(X + 135, Y + 56, 100, "攻坚队名称");
PartyNameButton.Idx = 163;
PartyNameButton.DWidth = 223;
PartyNameButton.FillWidth = 1;
PartyNameButton.FirstWidth = 21;
PartyNameButton.SetTextOffset(26, 1);
PartyNameButton.Show();
local StageButton = LenheartButtonText(X + 289, Y + 56, 52, "阶段");
StageButton.Idx = 163;
StageButton.DWidth = 140;
StageButton.FillWidth = 1;
StageButton.FirstWidth = 21;
StageButton.SetTextOffset(26, 1);
StageButton.Show();
local TeammembersButton = LenheartButtonText(X + 402, Y + 56, 50, "队员数量");
TeammembersButton.Idx = 163;
TeammembersButton.FillWidth = 1;
TeammembersButton.FirstWidth = 21;
TeammembersButton.DWidth = 47;
TeammembersButton.SetTextOffset(-8, 1);
TeammembersButton.Show();
DrawPartyList(obj);
L_sq_DrawWindow(X + 6, Y + 382, 528 * 0.85, 24, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13);
local CreateOrMyPartyStr = "创建攻坚队";
local MyPartyButton = LenheartButtonText(X + 15, Y + 395, 30, CreateOrMyPartyStr);
MyPartyButton.SetTextOffset(-6, 1);
MyPartyButton.Show();
if (MyPartyButton.isLBActive()) {
FiendwarHallCreatePartyC.GetInstance().MainState = true;
}
//绘制背景框标题栏
// L_sq_DrawImg("interface/lenheartwindowcommon.img", 33, X + 150, Y + 395);
local LeftButton = LenheartBaseButton(X + 160, Y + 400, 15, 15, "interface/lenheartwindowcommon.img", 34);
LeftButton.Show();
if (LeftButton.isLBActive()) {
}
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);
local RightButton = LenheartBaseButton(X + 220, Y + 400, 15, 15, "interface/lenheartwindowcommon.img", 38);
RightButton.Show();
if (RightButton.isLBActive()) {
}
local FQButton = LenheartButtonText(X + 300, Y + 394, 20, "进入待机");
FQButton.SetTextOffset(-5, 2);
FQButton.State = 8;
FQButton.Show();
local RefreshButton = LenheartBaseButton(X + 410, Y + 395, 25, 25, "interface/lenheartwindowcommon.img", 366);
RefreshButton.Show();
if (RefreshButton.isLBActive()) {
GetAllTeamCall();
}
local SettingButton = LenheartBaseButton(X + 440, Y + 394, 15, 15, "interface/lenheartwindowcommon.img", 362);
SettingButton.State = 8;
SettingButton.Show();
}
Page = 0;
PageMaxCount = 13;
//绘制队伍信息
function DrawPartyList(obj) {
if (PartyList.len() <= 0) return;
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);
LenheartNewUI_Windows.SyncPos(X, Y);
}
MainButton = null;
//逻辑入口
function Proc(obj) {
//界面未打开
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(0, 350, 100, 179, "hud/fiendwarl.img", 0);
} else {
MainButton.Show();
if (MainButton.isLBActive()) {
this.Visible = true;
}
}
}
}
}
}

View File

@@ -4,125 +4,48 @@
创建日期:2024-03-18 13:20
文件用途:
*/
/*
class FiendwarHallCreatePartyC extends BasicsDrawTool {
WindowObj = null; //窗口对象
MainState = true; //主状态
X = 290;
Y = 220;
constructor() {}
function GetInstance() {
return getroottable()["FiendwarHallCreatePartyCObj"];
}
InputObject = null;
//绘制主界面
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);
if (!InputObject) InputObject = LenheartBaseInput(X + 62, Y + 68, 152, 20);
else {
InputObject.SyncPos(X + 62, Y + 68);
InputObject.Show();
}
local OkButton = LenheartButtonText(X + 78, Y + 124, 5, "确定");
OkButton.SetTextOffset(0, 1);
OkButton.Show();
if (OkButton.isLBActive()) {
if (InputObject.str.len() > 0) {
local T = {
op = 20063001,
teamsName = InputObject.str,
items = [L_sq_GetCharacterAttribute(0x1c, 14), L_sq_GetCharacterAttribute(0x1c, 13)],
}
BasicsDrawTool.SendPackEx(T);
MainState = false;
}
}
local CloseButton = LenheartButtonText(X + 144, Y + 124, 5, "取消");
CloseButton.SetTextOffset(0, 1);
CloseButton.Show();
if (CloseButton.isLBActive()) {
MainState = false;
}
}
//开启界面回调
function OpenClassCallBack() {
L_NewWindows("Lenheart", 170, 0x65535);
local W = sq_GetPopupWindowMainCotrol(170);
W.SetVisible(false);
W.SetEnable(false);
}
//绘制入口
function Draw(obj) {
if (MainState) {
if (WindowObj) {
DrawMain(obj);
// WindowObj.Show(obj);
X = WindowObj.X;
Y = WindowObj.Y;
} else {
WindowObj = LenheartNewUI.Windows(X, Y, 800, 600, 28); //坐标 大小 标题栏高度
WindowObj.Init(this);
WindowObj.DeBugMode = true;
}
} else {
if (WindowObj && WindowObj.YMouseSw == false) {
IMouse.ReleaseMouseClick();
WindowObj.YMouseSw = true;
WindowObj = null;
}
}
}
//逻辑入口
function Proc(obj) {
if (KeyPressNB.isKeyPress(48, "FiendwarHallCreatePartyCloseKey")) {
MainState = false;
}
}
}
*/
class FiendwarHallCreatePartyC extends LenheartNewUI.Windows {
class FiendwarHallCreatePartyC extends LenheartNewUI_Windows {
//调试模式
DeBugMode = true;
DeBugMode = false;
WindowObj = null; //窗口对象
MainState = true; //主状态
X = 290;
Y = 220;
//输入框
InputObject = null;
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
return LenheartNewUI.Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
Childrens = [];
local OkButton = LenheartNewUI_ButtonText(78, 124, 5, "确定");
OkButton.SetTextOffset(0, 1);
OkButton.OnClick = function() {
if (InputObject.str.len() > 0) {
local T = {
op = 20063001,
teamsName = InputObject.str,
items = [L_sq_GetCharacterAttribute(0x1c, 14), L_sq_GetCharacterAttribute(0x1c, 13)],
}
BasicsDrawTool.SendPackEx(T);
this.Visible = false;
}
}.bindenv(this);
Childrens.append(OkButton);
local CloseButton = LenheartNewUI_ButtonText(144, 124, 5, "取消");
CloseButton.SetTextOffset(0, 1);
CloseButton.OnClick = function() {
this.Visible = false;
}.bindenv(this);
Childrens.append(CloseButton);
InputObject = LenheartNewUI_BaseInput(62, 68, 152, 20);
Childrens.append(InputObject);
LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
}
function GetInstance() {
return getroottable()["FiendwarHallCreatePartyCObj"];
}
InputObject = null;
//绘制主界面
function DrawMain(obj) {
L_sq_DrawWindow(X, Y + 10, 260, 120, "interface/lenheartwindowcommon.img", 213, 12, 2, 13, 2);
@@ -134,54 +57,25 @@ class FiendwarHallCreatePartyC extends LenheartNewUI.Windows {
L_sq_DrawImg("hud/fiendwarl.img", 10, X + 72, Y + 44);
if (!InputObject) InputObject = LenheartBaseInput(X + 62, Y + 68, 152, 20);
else {
InputObject.SyncPos(X + 62, Y + 68);
InputObject.Show();
}
local OkButton = LenheartButtonText(X + 78, Y + 124, 5, "确定");
OkButton.SetTextOffset(0, 1);
OkButton.Show();
if (OkButton.isLBActive()) {
if (InputObject.str.len() > 0) {
local T = {
op = 20063001,
teamsName = InputObject.str,
items = [L_sq_GetCharacterAttribute(0x1c, 14), L_sq_GetCharacterAttribute(0x1c, 13)],
}
BasicsDrawTool.SendPackEx(T);
MainState = false;
}
}
local CloseButton = LenheartButtonText(X + 144, Y + 124, 5, "取消");
CloseButton.SetTextOffset(0, 1);
CloseButton.Show();
if (CloseButton.isLBActive()) {
MainState = false;
}
}
//开启界面回调
function OpenClassCallBack() {
L_NewWindows("Lenheart", 170, 0x65535);
local W = sq_GetPopupWindowMainCotrol(170);
W.SetVisible(false);
W.SetEnable(false);
// if (!InputObject) InputObject = LenheartNewUI_BaseInput(X + 62, Y + 68, 152, 20);
// else {
// InputObject.SyncPos(X + 62, Y + 68);
// InputObject.Show();
// }
}
function Show(obj) {
DrawMain(obj);
LenheartNewUI.Windows.Show(obj);
LenheartNewUI_Windows.Show(obj);
}
//逻辑入口
function Proc(obj) {
}
/*
//绘制入口
function Draw(obj) {
@@ -192,7 +86,7 @@ class FiendwarHallCreatePartyC extends LenheartNewUI.Windows {
X = WindowObj.X;
Y = WindowObj.Y;
} else {
WindowObj = LenheartNewUI.Windows(X, Y, 800, 600, 28); //坐标 大小 标题栏高度
WindowObj = LenheartNewUI_Windows(X, Y, 800, 600, 28); //坐标 大小 标题栏高度
WindowObj.Init(this);
WindowObj.DeBugMode = true;
}