111
This commit is contained in:
@@ -290,6 +290,8 @@ class LenheartNewUI_Windows extends LenheartNewUI_BaseWindow {
|
||||
ItemInfoDrawS = L_Sq_CallFunc(0xE6E070, "int", FFI_THISCALL, ["int", "int", "int", "int"], L_sq_RA(0x1A5FB20), 275, Rindro_ItemInfoObject[Id], 41);
|
||||
//校准道具信息窗口位置
|
||||
L_Sq_CallFunc(0xF3B3B0, "int", FFI_THISCALL, ["int", "int", "int", "int", "int"], ItemInfoDrawS, IMouse.GetXPos(), IMouse.GetYPos(), 28, 28);
|
||||
//我自己UI打开的道具信息窗口需要把渲染队列改为下层 以显示我打开的道具
|
||||
getroottable().WindowsShowABFlag <- false;
|
||||
}
|
||||
} else {
|
||||
if (ItemInfoDrawS) {
|
||||
@@ -454,13 +456,19 @@ function CheackMouseInOldWindows() {
|
||||
local WindowAddress = L_sq_RA(0x1B474D4);
|
||||
if (WindowAddress) {
|
||||
local Flag = L_sq_RA(WindowAddress);
|
||||
// print(format("%02X", Flag));
|
||||
foreach(value in OldBaseWindowArr) {
|
||||
if (Flag == value) {
|
||||
// if ((L_sq_RA(WindowAddress + 0x14) == 0 && L_sq_RA(WindowAddress + 0x18) == 0) || Flag == 0x184D0C4) {
|
||||
// print(false);
|
||||
return false;
|
||||
|
||||
// }
|
||||
|
||||
//空地
|
||||
if (Flag == 0x184D0C4 || Flag == 0x0184CF6C) {
|
||||
if ((L_sq_RA(WindowAddress + 0x14) == 0 && L_sq_RA(WindowAddress + 0x18) == 0)) {
|
||||
return false;
|
||||
}
|
||||
} else return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -476,7 +484,7 @@ function RunMouseLogic(MousePos_X, MousePos_Y) {
|
||||
//还原鼠标
|
||||
R_Mouse.Restore();
|
||||
}
|
||||
//在任何老窗口上 并且渲染层未A层 也就是下层渲染
|
||||
//在任何老窗口上 并且渲染层为A层 也就是下层渲染
|
||||
else if (CheackMouseInOldWindows() && !getroottable().WindowsShowABFlag) {
|
||||
//还原鼠标
|
||||
R_Mouse.Restore();
|
||||
@@ -528,11 +536,15 @@ function L_MouseCallBack(MouseState, MouseFlag, MousePos_X, MousePos_Y) {
|
||||
|
||||
//判断是否悬停活动图标
|
||||
if (getroottable().rawin("EventList_Obj")) EventList_Obj.CheckInEvent(MousePos_X, MousePos_Y);
|
||||
|
||||
|
||||
//如果渲染层级在下级 即A层 或者是 鼠标没有悬停在任何新窗口上时 执行判断 如果悬停在原生窗口 就解除鼠标锁定 如果点击 就改变渲染层级
|
||||
if (!getroottable().WindowsShowABFlag || !CheackMouseInNewWindows(MousePos_X, MousePos_Y)) {
|
||||
if (CheackMouseInOldWindows()) {
|
||||
//如果点击了原生窗口 或者使用了滚轮 就把渲染队列改成下
|
||||
if (MouseState == 0x201 || MouseState == 0x20a) getroottable().WindowsShowABFlag <- false;
|
||||
if (MouseState == 0x201 || MouseState == 0x20a) {
|
||||
getroottable().WindowsShowABFlag <- false;
|
||||
}
|
||||
if (MouseState != 0x20a) return;
|
||||
}
|
||||
}
|
||||
@@ -554,8 +566,6 @@ function L_MouseCallBack(MouseState, MouseFlag, MousePos_X, MousePos_Y) {
|
||||
case 0x201: {
|
||||
//如果点击了新窗口就把渲染队列改成上
|
||||
getroottable().WindowsShowABFlag <- true;
|
||||
//点击动画
|
||||
if (getroottable().WindowsShowABFlag) L_sq_WA(0x1B46874, 1);
|
||||
Window.OnMouseLbDown(MousePos_X, MousePos_Y);
|
||||
break;
|
||||
|
||||
@@ -589,7 +599,7 @@ function L_MouseCallBack(MouseState, MouseFlag, MousePos_X, MousePos_Y) {
|
||||
//打开原生窗口回调
|
||||
function L_OpenOldWindowCallBack(WindowIndex) {
|
||||
//将新窗口渲染队列改为下层 抵消窗口 Esc窗口 登录可能显示的任务窗口
|
||||
if (WindowIndex != 170 && WindowIndex != 176) {
|
||||
if (WindowIndex != 170 && WindowIndex != 176 && WindowIndex != 276 && WindowIndex != 275 && WindowIndex != 278 && WindowIndex != 283) {
|
||||
getroottable().WindowsShowABFlag <- false;
|
||||
}
|
||||
}
|
||||
@@ -636,9 +646,11 @@ function L_WindowsLogic(obj) {
|
||||
}
|
||||
}
|
||||
if (Flag) {
|
||||
getroottable().WindowsShowABFlag <- false;
|
||||
//还原鼠标
|
||||
R_Mouse.Restore();
|
||||
L_sq_MouseClick();
|
||||
L_Sq_CallFunc(0x11A8B60, "void", FFI_MS_CDECL, []);
|
||||
// L_sq_MouseClick();
|
||||
Rindro_MouseClickFlag = 5;
|
||||
}
|
||||
}
|
||||
@@ -682,6 +694,7 @@ class LenheartNewUI_CommonUi extends LenheartNewUI_BaseWindow {
|
||||
isInRect = false;
|
||||
|
||||
OnClick = null;
|
||||
OnClickEx = null;
|
||||
OnClickSound = null;
|
||||
ObjectId = null;
|
||||
|
||||
@@ -689,6 +702,8 @@ class LenheartNewUI_CommonUi extends LenheartNewUI_BaseWindow {
|
||||
|
||||
TopCallBackFunc = null;
|
||||
|
||||
Data = null;
|
||||
|
||||
constructor(x, y, width, height) {
|
||||
this.Localtion_X = x;
|
||||
this.Localtion_Y = y;
|
||||
@@ -722,8 +737,9 @@ class LenheartNewUI_CommonUi extends LenheartNewUI_BaseWindow {
|
||||
}
|
||||
//鼠标左键弹起回调
|
||||
function OnMouseLbUp(MousePos_X, MousePos_Y) {
|
||||
if (isLBDown && OnClick) {
|
||||
OnClick();
|
||||
if (isLBDown) {
|
||||
if (OnClick) OnClick();
|
||||
if (OnClickEx) OnClickEx(this);
|
||||
}
|
||||
isLBDown = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user