Rindro-Sqr/Project/Trainingroom/Trainingroom.nut

108 lines
3.3 KiB
Plaintext
Raw Normal View History

2025-12-11 20:05:06 +08:00
/*
文件名:Trainingroom.nut
路径:Project/Trainingroom/Trainingroom.nut
创建日期:2025-12-11 01:20
文件用途:
*/
class TrainingroomC extends LenheartNewUI_Windows {
//调试模式
DeBugMode = true;
//不是窗口
// NoWindow = true;
//是否可见
// Visible = false;
//位移修炼场信息
MoveTrainingroomInfo = null;
//位移修炼场Flag
MoveTrainingroomFlag = false;
//位移修炼场副本编号
MoveTrainingroomDungeonId = 1;
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
Childrens = [];
//注册控件
RegisterWidget();
LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
InitPvf();
}
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);
}
//绘制主界面
function DrawMain(obj) {
}
function Show(obj) {
DrawMain(obj);
LenheartNewUI_Windows.Show(obj);
}
//逻辑入口
function Proc(obj) {
LenheartNewUI_Windows.SyncPos(X, Y);
//判断自己是否在需要位移修炼场的区域
if (sq_GetCurrentModuleType() == 1) {
if (MoveTrainingroomInfo) {
if (L_sq_GetTownIndex() == MoveTrainingroomInfo[0] && L_sq_GetRegionIndex() == MoveTrainingroomInfo[1] && L_sq_GetTownXpos() >= MoveTrainingroomInfo[2] && L_sq_GetTownXpos() <= (MoveTrainingroomInfo[2] + MoveTrainingroomInfo[4]) && L_sq_GetTownYpos() >= MoveTrainingroomInfo[3] && L_sq_GetTownYpos() <= (MoveTrainingroomInfo[3] + MoveTrainingroomInfo[5])) {
if (!MoveTrainingroomFlag) {
MoveTrainingroomFlag = true;
L_sq_GoDungeon(MoveTrainingroomDungeonId);
}
} else {
if (MoveTrainingroomFlag) {
MoveTrainingroomFlag = false;
}
}
}
}
}
function InitPvf() {
Rindro_Script.GetFileData("etc/trainingroom.etc", function(DataTable, Data) {
while (!Data.Eof()) {
local Fragment = Data.Get();
if (Fragment == "[area]") {
MoveTrainingroomInfo = [Data.Get(), Data.Get(), Data.Get(), Data.Get(), Data.Get(), Data.Get()];
} else if (Fragment == "[dungeon]") {
MoveTrainingroomDungeonId = Data.Get();
}
}
});
}
}
L_Windows_List <- [];
getroottable().rawdelete("LenheartPluginsInitFlag");
getroottable().rawdelete("EventList_Obj")
getroottable().rawdelete("Trainingroom_Obj");
function Lenheart_Trainingroom_Fun(obj) {
local RootTab = getroottable();
if (!RootTab.rawin("Trainingroom_Obj")) {
RootTab.rawset("Trainingroom_Obj", true);
LenheartNewUI_CreateWindow(TrainingroomC, "修炼场窗口", ((getroottable().Rindro_Scr_Width - 405) / 2).tointeger(), 64, 405, 372, 28);
}
}
getroottable()["LenheartFuncTab"].rawset("TrainingroomFuncN", Lenheart_Trainingroom_Fun);