| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  | /* | 
					
						
							|  |  |  | 文件名:1_Select_Character.nut | 
					
						
							|  |  |  | 路径:User/UI/Window/1_Select_Character.nut | 
					
						
							|  |  |  | 创建日期:2024-12-13	15:45 | 
					
						
							|  |  |  | 文件用途:选择角色界面窗口 | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | class _Select_Character_SettingBackground_Object_Window extends Yosin_CommonUi { | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-13 22:28:47 +08:00
										 |  |  |     //编号 | 
					
						
							|  |  |  |     Idx = 0; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |     //蓝色悬停框 | 
					
						
							|  |  |  |     RectMask = null; | 
					
						
							|  |  |  |     //黄色选中框 | 
					
						
							|  |  |  |     SelectMask = null; | 
					
						
							|  |  |  |     //选中状态 | 
					
						
							|  |  |  |     SelectFlag = false; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-13 22:28:47 +08:00
										 |  |  |     constructor(x, y, width, height, gIdx) { | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |         base.constructor(x, y, width, height); | 
					
						
							| 
									
										
										
										
											2024-12-13 22:28:47 +08:00
										 |  |  |         //编号 | 
					
						
							|  |  |  |         Idx = gIdx; | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |         //注册绘制 | 
					
						
							| 
									
										
										
										
											2024-12-13 22:28:47 +08:00
										 |  |  |         RegisterDraw(); | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-13 22:28:47 +08:00
										 |  |  |     function RegisterDraw() { | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |         //背景 | 
					
						
							|  |  |  |         local Background = CL_SpriteObject("sprite/interface2/selectcharacter_ver2/background/small/background_small_event.img", Idx); | 
					
						
							|  |  |  |         Background.SetScale(0.7, 0.7); | 
					
						
							|  |  |  |         Addchild(Background); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         RectMask = CL_SpriteObject("sprite/interface2/selectcharacter_ver2/setup/setup.img", 18); | 
					
						
							|  |  |  |         RectMask.SetVisible(false); | 
					
						
							|  |  |  |         Addchild(RectMask); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         SelectMask = CL_SpriteObject("sprite/interface2/selectcharacter_ver2/setup/setup.img", 19); | 
					
						
							|  |  |  |         SelectMask.SetPosition(-2, -2); | 
					
						
							|  |  |  |         SelectMask.SetVisible(false); | 
					
						
							|  |  |  |         Addchild(SelectMask); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //override | 
					
						
							|  |  |  |     function Proc(Dt) { | 
					
						
							|  |  |  |         base.Proc(Dt); | 
					
						
							|  |  |  |         if (isInRect && !SelectFlag) { | 
					
						
							|  |  |  |             RectMask.SetVisible(true); | 
					
						
							|  |  |  |         } else { | 
					
						
							|  |  |  |             RectMask.SetVisible(false); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //鼠标左键单击回调 | 
					
						
							|  |  |  |     function OnMouseLbClick(MousePos_X, MousePos_Y) { | 
					
						
							|  |  |  |         base.OnMouseLbClick(MousePos_X, MousePos_Y); | 
					
						
							|  |  |  |         if (isInRect) { | 
					
						
							| 
									
										
										
										
											2024-12-15 23:34:10 +08:00
										 |  |  |             //必须是在框的范围内 | 
					
						
							|  |  |  |             if (MousePos_Y > Parent.Y && MousePos_Y<(Parent.Y + Parent.Height)) { | 
					
						
							|  |  |  |                 //遍历父对象中的所有按钮 还原其他按钮 | 
					
						
							|  |  |  |                 foreach(Button in Parent.SettingBackgroundButtonList) { | 
					
						
							|  |  |  |                     Button.SelectMask.SetVisible(false); | 
					
						
							|  |  |  |                     Button.SelectFlag = false; | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |                 //设置自身选中状态 | 
					
						
							|  |  |  |                 SelectMask.SetVisible(true); | 
					
						
							|  |  |  |                 SelectFlag = true; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 Parent.Parent.ChangeBackground(Idx); | 
					
						
							| 
									
										
										
										
											2024-12-13 22:28:47 +08:00
										 |  |  |             } | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | class _Select_Character_SettingBackground_Window extends Yosin_Window { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //是否为独立窗口 | 
					
						
							|  |  |  |     IsIndependent = false; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-17 10:00:33 +08:00
										 |  |  |     //是否为图层窗口 | 
					
						
							|  |  |  |     IsLayer = true; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |     //是否可见 | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |     Visible = false; | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-13 22:28:47 +08:00
										 |  |  |     //选择背景按钮集合 | 
					
						
							|  |  |  |     SettingBackgroundButtonList = null; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |     //背景对象 | 
					
						
							| 
									
										
										
										
											2024-12-14 11:14:20 +08:00
										 |  |  |     Background = null; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-14 23:15:53 +08:00
										 |  |  |     ScrollObject = null; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |     constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) { | 
					
						
							| 
									
										
										
										
											2024-12-17 10:00:33 +08:00
										 |  |  |         base.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH); | 
					
						
							| 
									
										
										
										
											2024-12-13 22:28:47 +08:00
										 |  |  |         SettingBackgroundButtonList = []; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |         SetClipRect(5, 9, gWidth, gHeight - 9); | 
					
						
							| 
									
										
										
										
											2024-12-19 23:55:34 +08:00
										 |  |  |         SetZOrder(1000); | 
					
						
							| 
									
										
										
										
											2024-12-13 22:28:47 +08:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-13 22:28:47 +08:00
										 |  |  |     function Init() { | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |         //注册绘制 | 
					
						
							|  |  |  |         RegisterDraw(); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function RegisterDraw() { | 
					
						
							|  |  |  |         //背景 | 
					
						
							| 
									
										
										
										
											2024-12-14 11:14:20 +08:00
										 |  |  |         Background = CL_SpriteObject("sprite/interface2/selectcharacter_ver2/setup/setup.img", 17); | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |         Background.SetPosition(X, Y); | 
					
						
							| 
									
										
										
										
											2024-12-19 23:55:34 +08:00
										 |  |  |         // Background.SetZOrder(-10); | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |         Background.SetVisible(false); | 
					
						
							|  |  |  |         //因为裁切原因 所以要添加到父对象中 | 
					
						
							|  |  |  |         Parent.Addchild(Background); | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |         for (local i = 0; i< 24; i++) { | 
					
						
							| 
									
										
										
										
											2024-12-13 22:28:47 +08:00
										 |  |  |             local Buf = _Select_Character_SettingBackground_Object_Window(5 + (101 * (i % 2)), 9 + (61 * (i / 2)), 91, 51, i); | 
					
						
							|  |  |  |             SettingBackgroundButtonList.push(Buf); | 
					
						
							|  |  |  |             //如果是父对象默认构造的默认是勾选状态 | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |             if (i == Parent.Info.loginImg) { | 
					
						
							| 
									
										
										
										
											2024-12-13 22:28:47 +08:00
										 |  |  |                 Buf.SelectMask.SetVisible(true); | 
					
						
							|  |  |  |                 Buf.SelectFlag = true; | 
					
						
							|  |  |  |             } | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |             AddUIChild(Buf); | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-12-14 23:15:53 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |         ScrollObject = Yosin_ScrollBar(Width - 13, 5, Height - 8, 20); | 
					
						
							|  |  |  |         ScrollObject.SetChangeCallBack(function(Value) { | 
					
						
							|  |  |  |             foreach(Pos, Button in SettingBackgroundButtonList) { | 
					
						
							| 
									
										
										
										
											2024-12-15 23:34:10 +08:00
										 |  |  |                 Button.SyncPos(5 + (101 * (Pos % 2)), 9 + (61 * (Pos / 2)) - Value * (61 * 12)); | 
					
						
							| 
									
										
										
										
											2024-12-14 23:15:53 +08:00
										 |  |  |             } | 
					
						
							|  |  |  |         }.bindenv(this)); | 
					
						
							|  |  |  |         AddUIChild(ScrollObject); | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |     //override | 
					
						
							|  |  |  |     //设置是否可见 通过重载设置可见同步Background的可见性 | 
					
						
							|  |  |  |     function SetVisible(Flag) { | 
					
						
							|  |  |  |         base.SetVisible(Flag); | 
					
						
							|  |  |  |         if (Flag) { | 
					
						
							|  |  |  |             if (Background) Background.SetVisible(true); | 
					
						
							|  |  |  |         } else { | 
					
						
							|  |  |  |             if (Background) Background.SetVisible(false); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | //角色 | 
					
						
							| 
									
										
										
										
											2024-12-16 20:32:11 +08:00
										 |  |  | class _Select_Character_Chr extends Yosin_CommonUi { | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |     //是否为独立窗口 | 
					
						
							|  |  |  |     IsIndependent = false; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Info = null; | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |     Idx = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //悬停框 | 
					
						
							|  |  |  |     RectMask = null; | 
					
						
							|  |  |  |     //选中框 | 
					
						
							|  |  |  |     SelectMask = null; | 
					
						
							|  |  |  |     //选中状态 | 
					
						
							|  |  |  |     SelectFlag = false; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //鼠标相对位置 | 
					
						
							|  |  |  |     M_Xpos = null; | 
					
						
							|  |  |  |     M_Ypos = null; | 
					
						
							|  |  |  |     //移动Flag | 
					
						
							|  |  |  |     MoveFlag = false; | 
					
						
							|  |  |  |     //鼠标移动位置 | 
					
						
							|  |  |  |     M_Move_Xpos = 0; | 
					
						
							|  |  |  |     M_Move_Ypos = 0; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-16 20:32:11 +08:00
										 |  |  |     constructor(gX, gY, gWidth, gHeight) { | 
					
						
							|  |  |  |         base.constructor(gX, gY, gWidth, gHeight); | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |         RegisterDraw(); | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |         // OpenDeBug(); | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |     function Init(Info, Idx) { | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |         this.Info = Info; | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |         this.Idx = Idx; | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |         RegisterCharac(); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function RegisterDraw() { | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |         //魔法阵 | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |         local Magic = CL_SpriteObject("sprite/interface2/selectcharacter_ver2/selectcharacter.img", 10); | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |         Magic.SetPosition(3, 136); | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |         Addchild(Magic); | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |         //悬停框 | 
					
						
							|  |  |  |         RectMask = CL_SpriteObject("sprite/interface2/selectcharacter_ver2/selectcharacter.img", 1); | 
					
						
							|  |  |  |         RectMask.SetMode(0); | 
					
						
							|  |  |  |         RectMask.SetPosition(3, 0); | 
					
						
							|  |  |  |         RectMask.SetVisible(false); | 
					
						
							|  |  |  |         Addchild(RectMask); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //选中框 | 
					
						
							|  |  |  |         SelectMask = CL_SpriteObject("sprite/interface2/selectcharacter_ver2/selectcharacter.img", 1); | 
					
						
							|  |  |  |         SelectMask.SetMode(0); | 
					
						
							|  |  |  |         SelectMask.SetPosition(3, 0); | 
					
						
							|  |  |  |         SelectMask.SetVisible(false); | 
					
						
							|  |  |  |         Addchild(SelectMask); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function RegisterCharac() { | 
					
						
							| 
									
										
										
										
											2024-12-18 18:51:30 +08:00
										 |  |  |         if (!Info) return; | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |         local Charc = GameObject.CreateCharacter(Info.job, Info.equip); | 
					
						
							|  |  |  |         Charc.SetAnimation("RestAni"); | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |         Charc.SetPosition(64, 156, 0); | 
					
						
							| 
									
										
										
										
											2024-12-27 15:27:02 +08:00
										 |  |  |         Charc.SetName(Info.lv + " 级 " + Info.name); | 
					
						
							|  |  |  |         Charc.AnimationManager.Name.MoveBy(21 - Charc.AnimationManager.Name.GetSize().w / 2, 180); | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |         Addchild(Charc); | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |     function SetIdxPosition(Idx) { | 
					
						
							|  |  |  |         this.Idx = Idx; | 
					
						
							|  |  |  |         SetPosition(184 + (Idx * 142), ((Idx % 2) ? 13 : 0) + 93) | 
					
						
							|  |  |  |         SelectMask.SetVisible(false); | 
					
						
							|  |  |  |         SelectFlag = false; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //override | 
					
						
							|  |  |  |     //鼠标事件回调 | 
					
						
							|  |  |  |     function OnMouseProc(MousePos_X, MousePos_Y) { | 
					
						
							|  |  |  |         base.OnMouseProc(MousePos_X, MousePos_Y); | 
					
						
							|  |  |  |         if (isInRect) { | 
					
						
							|  |  |  |             RectMask.SetVisible(true); | 
					
						
							|  |  |  |         } else { | 
					
						
							|  |  |  |             RectMask.SetVisible(false); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //设定拖动逻辑 | 
					
						
							|  |  |  |         if (MoveFlag) { | 
					
						
							|  |  |  |             M_Move_Xpos = B_X - (M_Xpos - MousePos_X); | 
					
						
							|  |  |  |             M_Move_Ypos = B_Y - (M_Ypos - MousePos_Y); | 
					
						
							|  |  |  |             //左键拖动 | 
					
						
							|  |  |  |             SetPosition(M_Move_Xpos, M_Move_Ypos); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //override | 
					
						
							|  |  |  |     //鼠标左键单击回调 | 
					
						
							|  |  |  |     function OnMouseLbClick(MousePos_X, MousePos_Y) { | 
					
						
							|  |  |  |         base.OnMouseLbClick(MousePos_X, MousePos_Y); | 
					
						
							|  |  |  |         if (isInRect) { | 
					
						
							|  |  |  |             //遍历父对象中的所有按钮 还原其他按钮 | 
					
						
							|  |  |  |             foreach(Button in Parent.UpCharacterList) { | 
					
						
							|  |  |  |                 Button.SelectMask.SetVisible(false); | 
					
						
							|  |  |  |                 Button.SelectFlag = false; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             //设置自身选中状态 | 
					
						
							|  |  |  |             SelectMask.SetVisible(true); | 
					
						
							|  |  |  |             SelectFlag = true; | 
					
						
							| 
									
										
										
										
											2024-12-18 18:51:30 +08:00
										 |  |  |             Parent.CurrentSelectCharacterIdx = Idx; | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //override | 
					
						
							|  |  |  |     //鼠标左键按下回调 | 
					
						
							|  |  |  |     function OnMouseLbDown(MousePos_X, MousePos_Y) { | 
					
						
							|  |  |  |         base.OnMouseLbDown(MousePos_X, MousePos_Y); | 
					
						
							|  |  |  |         if (isInRect) { | 
					
						
							|  |  |  |             MoveFlag = true; | 
					
						
							|  |  |  |             M_Xpos = MousePos_X; //原始鼠标位置数据 | 
					
						
							|  |  |  |             M_Ypos = MousePos_Y; | 
					
						
							|  |  |  |             B_X = X; //原始窗口位置 | 
					
						
							|  |  |  |             B_Y = Y; | 
					
						
							| 
									
										
										
										
											2025-01-03 19:47:36 +08:00
										 |  |  |             //遍历父对象中的所有按钮 修改他们的层级 | 
					
						
							|  |  |  |             foreach(Button in Parent.UpCharacterList) { | 
					
						
							|  |  |  |                 Button.SetZOrder(99999); | 
					
						
							|  |  |  |             } | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |             SetZOrder(100000); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //override | 
					
						
							|  |  |  |     //鼠标左键弹起回调 | 
					
						
							|  |  |  |     function OnMouseLbUp(MousePos_X, MousePos_Y) { | 
					
						
							|  |  |  |         base.OnMouseLbUp(MousePos_X, MousePos_Y); | 
					
						
							|  |  |  |         if (MoveFlag) { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             MoveFlag = false; | 
					
						
							|  |  |  |             M_Xpos = null; | 
					
						
							|  |  |  |             M_Ypos = null; | 
					
						
							|  |  |  |             B_X = null; | 
					
						
							|  |  |  |             B_Y = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             //有移动才走替换位置逻辑 | 
					
						
							|  |  |  |             if (M_Move_Xpos != 0 || M_Move_Ypos != 0) { | 
					
						
							|  |  |  |                 //遍历父对象中的所有按钮 还原其他按钮 | 
					
						
							|  |  |  |                 foreach(Button in Parent.UpCharacterList) { | 
					
						
							|  |  |  |                     if (Button.isInRect) { | 
					
						
							|  |  |  |                         //记录自身原本位置 | 
					
						
							|  |  |  |                         local OldIdx = this.Idx; | 
					
						
							|  |  |  |                         //设置自身到达位置 | 
					
						
							|  |  |  |                         SetIdxPosition(Button.Idx); | 
					
						
							|  |  |  |                         //设置对方的位置 | 
					
						
							|  |  |  |                         Button.SetIdxPosition(OldIdx); | 
					
						
							| 
									
										
										
										
											2024-12-18 18:51:30 +08:00
										 |  |  |                         //发送替换位置包 | 
					
						
							|  |  |  |                         SendReplaceCharacterPos(OldIdx, Button.Idx); | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |                     } | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |                 M_Move_Xpos = M_Move_Ypos = 0; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-18 18:51:30 +08:00
										 |  |  |     function SendReplaceCharacterPos(OldIdx, NewIdx) { | 
					
						
							|  |  |  |         MySocket.Send(PACKET_ID.CHANGE_CHARACTER_POSITION, { | 
					
						
							|  |  |  |             oldidx = OldIdx, | 
					
						
							|  |  |  |             newidx = NewIdx | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  | class _Select_Character_Window extends Yosin_Window { | 
					
						
							|  |  |  |     //调试模式 | 
					
						
							|  |  |  |     // DeBugMode = true; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //不是窗口 | 
					
						
							|  |  |  |     // NoWindow = true; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //是否可见 | 
					
						
							|  |  |  |     // Visible = false; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //背景音乐 | 
					
						
							|  |  |  |     BackGroundMusic = null | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //设置背景图片窗口 | 
					
						
							|  |  |  |     SettingBackgroundWindow = null; | 
					
						
							|  |  |  |     //背景图片 | 
					
						
							|  |  |  |     BackGround = null; | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |     //角色遮罩栏 | 
					
						
							|  |  |  |     CharacterMaskBox = null; | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |     //上排角色对象 | 
					
						
							|  |  |  |     UpCharacterList = null; | 
					
						
							| 
									
										
										
										
											2024-12-18 18:51:30 +08:00
										 |  |  |     //当前选中角色Idx | 
					
						
							|  |  |  |     CurrentSelectCharacterIdx = 0; | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |     //信息 | 
					
						
							|  |  |  |     Info = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) { | 
					
						
							|  |  |  |         base.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH); | 
					
						
							| 
									
										
										
										
											2025-01-03 19:47:36 +08:00
										 |  |  |         //定义五个空数组 | 
					
						
							|  |  |  |         UpCharacterList = array(5, null); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         // 选择角色进入游戏回包 | 
					
						
							|  |  |  |         MySocket.RegisterHandler(PACKET_ID.SELECT_CHARACTER_ENTER_GAME_CALLBACK, function(Jso) { | 
					
						
							|  |  |  |             local Info = Jso.charac; | 
					
						
							|  |  |  |             local TownObj = Town(Info.town); | 
					
						
							| 
									
										
										
										
											2025-01-05 00:48:35 +08:00
										 |  |  |             local Charc = GameObject.CreateCharacter(Info.job, Info.equ, true); | 
					
						
							| 
									
										
										
										
											2025-01-04 20:03:17 +08:00
										 |  |  |             Charc.Cid = Info.cid; | 
					
						
							| 
									
										
										
										
											2025-01-03 19:47:36 +08:00
										 |  |  |             TownObj.AddObject(Charc, true); | 
					
						
							|  |  |  |             ClientCharacter = Charc; | 
					
						
							|  |  |  |         }.bindenv(this)); | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function Init(gInfo) { | 
					
						
							|  |  |  |         //接收参数信息 | 
					
						
							|  |  |  |         Info = gInfo; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //注册绘制 | 
					
						
							|  |  |  |         RegisterDraw(); | 
					
						
							|  |  |  |         //注册控件 | 
					
						
							| 
									
										
										
										
											2024-12-14 23:15:53 +08:00
										 |  |  |         // for (local i = 0; i< 50; i++) { | 
					
						
							|  |  |  |         //     RegisterWidget(); | 
					
						
							|  |  |  |         // } | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |         RegisterWidget(); | 
					
						
							|  |  |  |         //注册窗口 | 
					
						
							|  |  |  |         RegisterWindow(); | 
					
						
							|  |  |  |         // OpenDeBug(); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function MusicLogic() { | 
					
						
							|  |  |  |         if (BackGroundMusic == null) return; | 
					
						
							|  |  |  |         if (!BackGroundMusic.IsPlaying()) BackGroundMusic.Play(); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-03 19:47:36 +08:00
										 |  |  |     function AddUpCharacter(CharacInfo, Index = 5) { | 
					
						
							|  |  |  |         //先定义为最大值 如果没有查到空位则不会执行逻辑 | 
					
						
							|  |  |  |         if (Index == 5) { | 
					
						
							|  |  |  |             //遍历获取第一个空位 Info为空也为空 | 
					
						
							|  |  |  |             foreach(pos, value in UpCharacterList) { | 
					
						
							|  |  |  |                 if (value == null) { | 
					
						
							|  |  |  |                     Index = pos; | 
					
						
							|  |  |  |                     break; | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |                 //如果是信息为空的 要先删除原来的再添加 | 
					
						
							|  |  |  |                 if (value.Info == null) { | 
					
						
							|  |  |  |                     Index = pos; | 
					
						
							|  |  |  |                     RemoveUIChild(UpCharacterList[pos]); | 
					
						
							|  |  |  |                     break; | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             if (Index >= 5) return; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         local Buf = _Select_Character_Chr(184 + (Index * 142), ((Index % 2) ? 13 : 0) + 93, 132, 208); | 
					
						
							|  |  |  |         //如果有信息则构造角色 | 
					
						
							|  |  |  |         if (CharacInfo) { | 
					
						
							|  |  |  |             //通过信息构造角色 | 
					
						
							|  |  |  |             Buf.Init(CharacInfo, Index); | 
					
						
							|  |  |  |             AddUIChild(Buf); | 
					
						
							|  |  |  |             UpCharacterList[Index] = Buf; | 
					
						
							|  |  |  |         } else { | 
					
						
							|  |  |  |             Buf.Init(null, Index); | 
					
						
							|  |  |  |             AddUIChild(Buf); | 
					
						
							|  |  |  |             UpCharacterList[Index] = Buf; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |     function RegisterWindow() { | 
					
						
							|  |  |  |         SettingBackgroundWindow = _Select_Character_SettingBackground_Window("选择角色_设置背景图片窗口", 850, 28, 212, 129, 0); | 
					
						
							|  |  |  |         AddUIChild(SettingBackgroundWindow); | 
					
						
							| 
									
										
										
										
											2024-12-13 22:28:47 +08:00
										 |  |  |         //先添加为子对象 因为子对象需要用到父对象 | 
					
						
							|  |  |  |         SettingBackgroundWindow.Init(); | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |         //角色对象 | 
					
						
							|  |  |  |         for (local i = 0; i< 5; i++) { | 
					
						
							| 
									
										
										
										
											2024-12-19 23:55:34 +08:00
										 |  |  |             //角色框背景 | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |             local CharBg = CL_SpriteObject("sprite/interface2/selectcharacter_ver2/selectcharacter.img", 4); | 
					
						
							|  |  |  |             CharBg.SetMode(0); | 
					
						
							|  |  |  |             CharBg.SetPosition(184 + (i * 142) + 3, ((i % 2) ? 13 : 0) + 93); | 
					
						
							|  |  |  |             CharBg.SetZOrder(-10); | 
					
						
							|  |  |  |             Addchild(CharBg); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-03 19:47:36 +08:00
										 |  |  |             //如果没有足够的信息则传递null | 
					
						
							|  |  |  |             AddUpCharacter((Info.charac.len() > i) ? Info.charac[i] : null, i); | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function RegisterWidget() { | 
					
						
							|  |  |  |         //背景设置按钮 | 
					
						
							|  |  |  |         local SettingButton = Yosin_BaseButton(984, 6, 77, 24 "sprite/interface2/ui/community/guild_2019/guildsetting/guildsetting.img", 29); | 
					
						
							|  |  |  |         //点击事件回调 | 
					
						
							|  |  |  |         SettingButton.OnClick = function(Button) { | 
					
						
							|  |  |  |             SettingBackgroundWindow.SetVisible(!SettingBackgroundWindow.Visible) | 
					
						
							|  |  |  |         }.bindenv(this); | 
					
						
							|  |  |  |         AddUIChild(SettingButton); | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |         //背景设置按钮文本 | 
					
						
							|  |  |  |         local BgSettingTextActor = FontAssetManager.GenerateNormal("背景设置", true, { | 
					
						
							| 
									
										
										
										
											2024-12-14 23:15:53 +08:00
										 |  |  |             color = sq_RGBA(221, 197, 147, 255) | 
					
						
							|  |  |  |         }); | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |         BgSettingTextActor.SetPosition(23, 3); | 
					
						
							|  |  |  |         BgSettingTextActor.SetUpdateFunc(function(Text, Dt) { | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |             if (Text.Parent.State == 1 || Text.Parent.State == 2) { | 
					
						
							|  |  |  |                 Text.SetFillColor(sq_RGBA(255, 255, 184, 255)); | 
					
						
							|  |  |  |             } else if (Text.Parent.State == 0) { | 
					
						
							|  |  |  |                 Text.SetFillColor(sq_RGBA(221, 197, 147, 255)); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         }) | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |         SettingButton.Addchild(BgSettingTextActor); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //创建角色按钮 | 
					
						
							|  |  |  |         local CreateButton = Yosin_SplicingButton(316, 560, 59, 24 "sprite/interface/lenheartwindowcommon.img", 172, true, false); | 
					
						
							|  |  |  |         //创建角色按钮文本 | 
					
						
							|  |  |  |         local CreateTextActor = FontAssetManager.GenerateNormal("创建角色", false, { | 
					
						
							|  |  |  |             color = sq_RGBA(186, 147, 97, 255) | 
					
						
							|  |  |  |         }); | 
					
						
							| 
									
										
										
										
											2024-12-18 18:51:30 +08:00
										 |  |  |         CreateButton.OnClick = function(Button) { | 
					
						
							| 
									
										
										
										
											2024-12-19 23:55:34 +08:00
										 |  |  |             local Window = Sq_CreateWindow(_CreateCharacter, "创建角色界面窗口", 0, 0, 1066, 600, 0); | 
					
						
							|  |  |  |             Window.ResetFocus(); | 
					
						
							| 
									
										
										
										
											2024-12-18 18:51:30 +08:00
										 |  |  |         }.bindenv(this); | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |         AddUIChild(CreateButton); | 
					
						
							|  |  |  |         CreateTextActor.SetPosition(6, 5); | 
					
						
							|  |  |  |         CreateTextActor.SetZOrder(100000); | 
					
						
							|  |  |  |         CreateTextActor.SetUpdateFunc(function(Text, Dt) { | 
					
						
							|  |  |  |             if (Text.Parent.State == 1 || Text.Parent.State == 2) { | 
					
						
							|  |  |  |                 Text.SetFillColor(sq_RGBA(18, 71, 130, 255)); | 
					
						
							|  |  |  |             } else if (Text.Parent.State == 0) { | 
					
						
							|  |  |  |                 Text.SetFillColor(sq_RGBA(186, 147, 97, 255)); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  |         CreateButton.Addchild(CreateTextActor); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-14 11:14:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |         //删除角色按钮 | 
					
						
							|  |  |  |         local DeleteButton = Yosin_SplicingButton(384, 560, 59, 24 "sprite/interface/lenheartwindowcommon.img", 172, true, false); | 
					
						
							|  |  |  |         //删除角色按钮文本 | 
					
						
							|  |  |  |         local DeleteTextActor = FontAssetManager.GenerateNormal("  删除", false, { | 
					
						
							|  |  |  |             color = sq_RGBA(186, 147, 97, 255) | 
					
						
							|  |  |  |         }); | 
					
						
							|  |  |  |         AddUIChild(DeleteButton); | 
					
						
							|  |  |  |         DeleteTextActor.SetPosition(6, 5); | 
					
						
							|  |  |  |         DeleteTextActor.SetZOrder(100000); | 
					
						
							|  |  |  |         DeleteTextActor.SetUpdateFunc(function(Text, Dt) { | 
					
						
							|  |  |  |             if (Text.Parent.State == 1 || Text.Parent.State == 2) { | 
					
						
							|  |  |  |                 Text.SetFillColor(sq_RGBA(18, 71, 130, 255)); | 
					
						
							|  |  |  |             } else if (Text.Parent.State == 0) { | 
					
						
							|  |  |  |                 Text.SetFillColor(sq_RGBA(186, 147, 97, 255)); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  |         DeleteButton.Addchild(DeleteTextActor); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //结束游戏按钮 | 
					
						
							|  |  |  |         local CloseButton = Yosin_SplicingButton(702, 560, 59, 24 "sprite/interface/lenheartwindowcommon.img", 172, true, false); | 
					
						
							|  |  |  |         //结束游戏按钮文本 | 
					
						
							|  |  |  |         local CloseTextActor = FontAssetManager.GenerateNormal("结束游戏", false, { | 
					
						
							|  |  |  |             color = sq_RGBA(186, 147, 97, 255) | 
					
						
							|  |  |  |         }); | 
					
						
							|  |  |  |         AddUIChild(CloseButton); | 
					
						
							|  |  |  |         CloseTextActor.SetPosition(6, 5); | 
					
						
							|  |  |  |         CloseTextActor.SetZOrder(100000); | 
					
						
							|  |  |  |         CloseTextActor.SetUpdateFunc(function(Text, Dt) { | 
					
						
							|  |  |  |             if (Text.Parent.State == 1 || Text.Parent.State == 2) { | 
					
						
							|  |  |  |                 Text.SetFillColor(sq_RGBA(18, 71, 130, 255)); | 
					
						
							|  |  |  |             } else if (Text.Parent.State == 0) { | 
					
						
							|  |  |  |                 Text.SetFillColor(sq_RGBA(186, 147, 97, 255)); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  |         CloseButton.Addchild(CloseTextActor); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //开始游戏按钮 | 
					
						
							|  |  |  |         local StartButton = Yosin_BaseButton(475, 546, 118, 47 "sprite/interface2/selectcharacter/selectcharacter.img", 7); | 
					
						
							|  |  |  |         //点击事件回调 | 
					
						
							|  |  |  |         StartButton.OnClick = function(Button) { | 
					
						
							| 
									
										
										
										
											2024-12-19 23:55:34 +08:00
										 |  |  |             //停止背景音乐 | 
					
						
							|  |  |  |             if (BackGroundMusic) { | 
					
						
							|  |  |  |                 BackGroundMusic.Pause(); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             SetVisible(false); | 
					
						
							| 
									
										
										
										
											2025-01-03 19:49:49 +08:00
										 |  |  |             //发送进入游戏请求 | 
					
						
							|  |  |  |             MySocket.Send(PACKET_ID.SELECT_CHARACTER, { | 
					
						
							|  |  |  |                 cid = UpCharacterList[CurrentSelectCharacterIdx].Info.cid | 
					
						
							|  |  |  |             }) | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |         }.bindenv(this); | 
					
						
							|  |  |  |         AddUIChild(StartButton); | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-13 22:28:47 +08:00
										 |  |  |     //切换背景 | 
					
						
							|  |  |  |     function ChangeBackground(Idx) { | 
					
						
							|  |  |  |         if (BackGround) { | 
					
						
							|  |  |  |             BackGround.RemoveSelf(); | 
					
						
							|  |  |  |             BackGround = null; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         BackGround = CL_SpriteObject("sprite/interface2/selectcharacter_ver2/background/large/background_large_event.img", Idx); | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |         BackGround.SetZOrder(-100); | 
					
						
							| 
									
										
										
										
											2024-12-13 22:28:47 +08:00
										 |  |  |         Addchild(BackGround); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |     function RegisterDraw() { | 
					
						
							|  |  |  |         //大背景 根据玩家的设定背景决定 | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |         ChangeBackground(Info.loginImg); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //角色遮罩栏 | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |         CharacterMaskBox = Yosin_NineBoxStretch(-4, 320, 1074, 680, "sprite/interface/lenheartwindowcommon.img", 0); | 
					
						
							| 
									
										
										
										
											2024-12-15 20:15:29 +08:00
										 |  |  |         AddUIChild(CharacterMaskBox); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |         for (local i = 0; i< 7; i++) { | 
					
						
							|  |  |  |             //魔法阵 | 
					
						
							|  |  |  |             local Magic = CL_SpriteObject("sprite/interface2/selectcharacter_ver2/selectcharacter.img", 10); | 
					
						
							|  |  |  |             Magic.SetPosition(54 + (i * 142), 146); | 
					
						
							|  |  |  |             CharacterMaskBox.Addchild(Magic); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             //锁框 | 
					
						
							|  |  |  |             local LockBox = CL_SpriteObject("sprite/interface2/selectcharacter_ver2/selectcharacter.img", 16); | 
					
						
							|  |  |  |             LockBox.SetPosition(54 + (i * 142), 10); | 
					
						
							|  |  |  |             CharacterMaskBox.Addchild(LockBox); | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //逻辑入口 | 
					
						
							|  |  |  |     function Proc(Dt) { | 
					
						
							| 
									
										
										
										
											2024-12-19 23:55:34 +08:00
										 |  |  |         if (Visible) MusicLogic(); | 
					
						
							| 
									
										
										
										
											2024-12-13 20:51:41 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |         SyncPos(X, Y); | 
					
						
							|  |  |  |         base.Proc(Dt); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } |