11111
This commit is contained in:
188
Project/Fiendwar copy/Fiendwar.nut
Normal file
188
Project/Fiendwar copy/Fiendwar.nut
Normal file
@@ -0,0 +1,188 @@
|
||||
/*
|
||||
文件名: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);
|
||||
}
|
||||
Reference in New Issue
Block a user