UI核心 增加鼠标类的注入

This commit is contained in:
Lenheart 2024-12-18 18:51:48 +08:00
parent 18acd45a4a
commit 0183ede4f3
1 changed files with 8 additions and 3 deletions

View File

@ -4,6 +4,8 @@
创建日期:2024-11-08 03:25
文件用途:UI核心类
*/
//UI层Actor
_UiObject_ <- null;
//窗口队列
_SYS_WINDOW_LIST_ <- [];
//基础窗口类 所有UI类继承与本类
@ -368,21 +370,21 @@ function Sq_CreateWindow(ClassName, gObjectId, gX, gY, gWidth, gHeight, gTitleH)
//窗口逻辑入口 C回调
function _Yosin_Windows_Logic_(Dt, Ui_Layer) {
local UiObject = Actor(Ui_Layer);
_UiObject_ = Actor(Ui_Layer);
//遍历窗口队列 如果可见则调用Show
for (local i = 0; i< _SYS_WINDOW_LIST_.len(); i++) {
local Window = _SYS_WINDOW_LIST_[i];
//根据是否显示 决定是否添加到舞台
if (!Window.Visible && Window.ParentFlag) {
Window.ParentFlag = null;
UiObject.Removechild(Window);
_UiObject_.Removechild(Window);
if (Window.DestroyFlag) {
_SYS_WINDOW_LIST_.remove(i);
i--;
}
} else if (Window.Visible && (!Window.ParentFlag)) {
Window.ParentFlag = true;
UiObject.Addchild(Window);
_UiObject_.Addchild(Window);
}
//无论窗口是否显示都需要调用Proc
Window.Proc(Dt);
@ -393,8 +395,11 @@ function _Yosin_Windows_Logic_(Dt, Ui_Layer) {
//鼠标点击Flag
_Mouse_Click_Flag <- {};
_Yosin_Cursor();
//鼠标逻辑入口
function _Yosin_Windows_Mouse_Logic_(MouseState, Wheel, MousePos_X, MousePos_Y) {
Yosin_Cursor.Event(MouseState, Wheel, MousePos_X, MousePos_Y);
//克隆一遍窗口列表
local WindowListF = clone(_SYS_WINDOW_LIST_);
WindowListF.reverse();