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