| 
									
										
										
										
											2025-06-30 00:25:43 +08:00
										 |  |  | /* | 
					
						
							|  |  |  | 文件名:FatalismStone.nut | 
					
						
							|  |  |  | 路径:Project/FatalismStone/FatalismStone.nut | 
					
						
							|  |  |  | 创建日期:2025-06-18	11:00 | 
					
						
							|  |  |  | 文件用途:FatalismStone | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | //魂石list | 
					
						
							|  |  |  | FatalismStoneLst <- null; | 
					
						
							|  |  |  | //魂石Img主体 | 
					
						
							|  |  |  | FatalismStone_StoneImg <- {}; | 
					
						
							|  |  |  | FatalismStone_StoneImg["icon_Frame"] <- Rindro_Image("interface2/rindro_reward.img"); | 
					
						
							|  |  |  | FatalismStone_StoneImg["fatalism_stone_progressbar"] <- Rindro_Image("hud/fatalism_stone_progressbar.img"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class FatalismStoneC extends LenheartNewUI_Windows { | 
					
						
							|  |  |  |     //调试模式 | 
					
						
							|  |  |  |     // DeBugMode = true; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //不是窗口 | 
					
						
							|  |  |  |     // NoWindow = true; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //是否可见 | 
					
						
							|  |  |  |     Visible = false; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //Img | 
					
						
							|  |  |  |     Img = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //属性数据位数 | 
					
						
							|  |  |  |     AttrCount = 2; | 
					
						
							|  |  |  |     //总格子数 | 
					
						
							|  |  |  |     GridCount = 77; | 
					
						
							|  |  |  |     //总穿戴数 | 
					
						
							|  |  |  |     WearCount = 6; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //功能标题 | 
					
						
							|  |  |  |     FunctionTitle = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //背包页面 | 
					
						
							|  |  |  |     BackpackPage = 0; | 
					
						
							|  |  |  |     //背包页面Tabbars | 
					
						
							|  |  |  |     BackpackPageTabbars = null; | 
					
						
							|  |  |  |     //魂石数据 | 
					
						
							|  |  |  |     FatalismStoneData = null; | 
					
						
							|  |  |  |     //页面魂石集合 | 
					
						
							|  |  |  |     PageFatalismStoneLst = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //穿戴页面坐标数组 | 
					
						
							|  |  |  |     WearPagePos = [131, 140, 32, 180, 234, 180, 32, 272, 234, 272, 131, 413]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //查询魂石背包数据 | 
					
						
							|  |  |  |     function QueryFatalismStoneBackpack() { | 
					
						
							|  |  |  |         SendPackEx({ | 
					
						
							|  |  |  |             op = 21000001, | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) { | 
					
						
							|  |  |  |         Childrens = []; | 
					
						
							|  |  |  |         FunctionTitle = []; | 
					
						
							|  |  |  |         BackpackPageTabbars = []; | 
					
						
							|  |  |  |         //注册控件 | 
					
						
							|  |  |  |         RegisterWidget(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         InitImg(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //初始化魂石列表 | 
					
						
							|  |  |  |         InitFatalismStoneLst(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //背包数据回包 | 
					
						
							|  |  |  |         RegisterPack(21000002, function(Chunk) { | 
					
						
							|  |  |  |             local Jso = Json.Decode(Chunk); | 
					
						
							|  |  |  |             FatalismStoneData = []; | 
					
						
							|  |  |  |             //三个背包页 | 
					
						
							|  |  |  |             for (local j = 0; j< 3; j++) { | 
					
						
							|  |  |  |                 local Buf = []; | 
					
						
							|  |  |  |                 //每个背包页77格道具 | 
					
						
							|  |  |  |                 for (local i = 0; i< GridCount; i++) { | 
					
						
							|  |  |  |                     local Obj = Jso.BackPackData[i + (j * GridCount)]; | 
					
						
							|  |  |  |                     local _Id = Obj.id; | 
					
						
							|  |  |  |                     local _CultivationDegree = Obj.cultivationDegree; | 
					
						
							|  |  |  |                     Buf.append({ | 
					
						
							|  |  |  |                         Id = _Id, | 
					
						
							|  |  |  |                         CultivationDegree = _CultivationDegree / 100.0, | 
					
						
							|  |  |  |                         XPos = 310 + (i % 11 * 39), | 
					
						
							|  |  |  |                         YPos = 260 + (i / 11 * 35), | 
					
						
							|  |  |  |                         StoneType = j | 
					
						
							|  |  |  |                     }); | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |                 FatalismStoneData.append(Buf); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             //穿戴页 | 
					
						
							|  |  |  |             local WearBuf = []; | 
					
						
							|  |  |  |             for (local i = 0; i< WearCount; i++) { | 
					
						
							|  |  |  |                 local Obj = Jso.WearData[i]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 local _Id = Obj.id; | 
					
						
							|  |  |  |                 local _CultivationDegree = Obj.cultivationDegree; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 local _Xpos = WearPagePos[i * 2]; | 
					
						
							|  |  |  |                 local _Ypos = WearPagePos[i * 2 + 1]; | 
					
						
							|  |  |  |                 _Xpos += 5; | 
					
						
							|  |  |  |                 _Ypos += 5; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 local infoBuf = { | 
					
						
							|  |  |  |                     Id = _Id, | 
					
						
							|  |  |  |                     CultivationDegree = _CultivationDegree / 100.0, | 
					
						
							|  |  |  |                     XPos = _Xpos, | 
					
						
							|  |  |  |                     YPos = _Ypos, | 
					
						
							|  |  |  |                 }; | 
					
						
							|  |  |  |                 if (i == 0) infoBuf.StoneType <- 0; | 
					
						
							|  |  |  |                 else if (i >= 1 && i <= 4) infoBuf.StoneType <- 1; | 
					
						
							|  |  |  |                 else if (i == 5) infoBuf.StoneType <- 2; | 
					
						
							|  |  |  |                 WearBuf.append(infoBuf); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             FatalismStoneData.append(WearBuf); | 
					
						
							|  |  |  |             InitPageFatalismStone(); | 
					
						
							|  |  |  |         }.bindenv(this)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         QueryFatalismStoneBackpack(); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     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); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         local FuncTabbar1 = LenheartNewUI_TabbarsText(302, 27, "洗练"); | 
					
						
							|  |  |  |         FuncTabbar1.State = 1; | 
					
						
							|  |  |  |         AddChild(FuncTabbar1); | 
					
						
							|  |  |  |         FuncTabbar1.OnClick = function() { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         }.bindenv(this); | 
					
						
							|  |  |  |         FunctionTitle.append(FuncTabbar1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         local FuncTabbar2 = LenheartNewUI_TabbarsText(364, 27, "合成"); | 
					
						
							|  |  |  |         AddChild(FuncTabbar2); | 
					
						
							|  |  |  |         FuncTabbar2.OnClick = function() { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         }.bindenv(this); | 
					
						
							|  |  |  |         FunctionTitle.append(FuncTabbar2); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         local FuncTabbar3 = LenheartNewUI_TabbarsText(426, 27, "分解"); | 
					
						
							|  |  |  |         AddChild(FuncTabbar3); | 
					
						
							|  |  |  |         FuncTabbar3.OnClick = function() { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         }.bindenv(this); | 
					
						
							|  |  |  |         FunctionTitle.append(FuncTabbar3); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         local FuncTabbar4 = LenheartNewUI_TabbarsText(488, 27, "注魂"); | 
					
						
							|  |  |  |         AddChild(FuncTabbar4); | 
					
						
							|  |  |  |         FuncTabbar4.OnClick = function() { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         }.bindenv(this); | 
					
						
							|  |  |  |         FunctionTitle.append(FuncTabbar4); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         local Tabbars3 = LenheartNewUI_TabbarsText(302, 235, "天魂石"); | 
					
						
							|  |  |  |         Tabbars3.SetTextOffset(13, 4); | 
					
						
							|  |  |  |         Tabbars3.State = 1; | 
					
						
							|  |  |  |         AddChild(Tabbars3); | 
					
						
							|  |  |  |         Tabbars3.OnClickEx = function(Button) { | 
					
						
							|  |  |  |             foreach(button in BackpackPageTabbars) { | 
					
						
							|  |  |  |                 button.State = 0; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             Button.State = 1; | 
					
						
							|  |  |  |             BackpackPage = 0; | 
					
						
							|  |  |  |             InitPageFatalismStone(); | 
					
						
							|  |  |  |         }.bindenv(this); | 
					
						
							|  |  |  |         BackpackPageTabbars.append(Tabbars3); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         local Tabbars4 = LenheartNewUI_TabbarsText(364, 235, "人魂石"); | 
					
						
							|  |  |  |         Tabbars4.SetTextOffset(13, 4); | 
					
						
							|  |  |  |         AddChild(Tabbars4); | 
					
						
							|  |  |  |         Tabbars4.OnClickEx = function(Button) { | 
					
						
							|  |  |  |             foreach(button in BackpackPageTabbars) { | 
					
						
							|  |  |  |                 button.State = 0; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             Button.State = 1; | 
					
						
							|  |  |  |             BackpackPage = 1; | 
					
						
							|  |  |  |             InitPageFatalismStone(); | 
					
						
							|  |  |  |         }.bindenv(this); | 
					
						
							|  |  |  |         BackpackPageTabbars.append(Tabbars4); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         local Tabbars5 = LenheartNewUI_TabbarsText(426, 235, "地魂石"); | 
					
						
							|  |  |  |         Tabbars5.SetTextOffset(13, 4); | 
					
						
							|  |  |  |         AddChild(Tabbars5); | 
					
						
							|  |  |  |         Tabbars5.OnClickEx = function(Button) { | 
					
						
							|  |  |  |             foreach(button in BackpackPageTabbars) { | 
					
						
							|  |  |  |                 button.State = 0; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             Button.State = 1; | 
					
						
							|  |  |  |             BackpackPage = 2; | 
					
						
							|  |  |  |             InitPageFatalismStone(); | 
					
						
							|  |  |  |         }.bindenv(this); | 
					
						
							|  |  |  |         BackpackPageTabbars.append(Tabbars5); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //初始化背包 | 
					
						
							|  |  |  |     function InitPageFatalismStone() { | 
					
						
							|  |  |  |         // if (!BackpackData || BackpackData.len() == 0) return; | 
					
						
							|  |  |  |         if (!FatalismStoneData) return; | 
					
						
							|  |  |  |         local SubBackPack = FatalismStoneData[BackpackPage]; | 
					
						
							|  |  |  |         local ItArr = SubBackPack; | 
					
						
							|  |  |  |         foreach(value in FatalismStoneData[3]) { | 
					
						
							|  |  |  |             ItArr.append(value); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         PageFatalismStoneLst = []; | 
					
						
							|  |  |  |         foreach(info in ItArr) { | 
					
						
							|  |  |  |             local StoneBuf; | 
					
						
							|  |  |  |             if (!info.Id) StoneBuf = FatalismStone_Stone(null); | 
					
						
							|  |  |  |             else StoneBuf = FatalismStone_Stone(info.Id); | 
					
						
							|  |  |  |             StoneBuf.InitializeData(info); | 
					
						
							|  |  |  |             PageFatalismStoneLst.append(StoneBuf); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //计算全身的属性 | 
					
						
							|  |  |  |         local AttributeTable = {}; | 
					
						
							|  |  |  |         for (local i = GridCount; i< GridCount + WearCount; i++) { | 
					
						
							|  |  |  |             local StoneObj = PageFatalismStoneLst[i]; | 
					
						
							|  |  |  |             local Att = StoneObj.GetAttribute(); | 
					
						
							|  |  |  |             if (Att) { | 
					
						
							|  |  |  |                 foreach(key, value in Att) { | 
					
						
							|  |  |  |                     if (!AttributeTable.rawin(key)) AttributeTable.rawset(key, value); | 
					
						
							|  |  |  |                     else AttributeTable.rawset(key, AttributeTable.rawget(key) + value); | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //记录最新属性数据 | 
					
						
							|  |  |  |         if ("LenheartAttributesTable" in getroottable()) { | 
					
						
							|  |  |  |             local T = getroottable()["LenheartAttributesTable"]; | 
					
						
							|  |  |  |             T.rawset("LenheartCollectFatalismStoneAb", AttributeTable); | 
					
						
							|  |  |  |         } else { | 
					
						
							|  |  |  |             local T = {}; | 
					
						
							|  |  |  |             T.rawset("LenheartCollectFatalismStoneAb", AttributeTable); | 
					
						
							|  |  |  |             getroottable().rawset("LenheartAttributesTable", T); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //绘制主界面 | 
					
						
							|  |  |  |     function DrawMain(obj) { | 
					
						
							|  |  |  |         Img["main"].DrawPng(0, X, Y); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //绘制自身人物 | 
					
						
							|  |  |  |         local charAni = sq_GetCNRDObjectToSQRCharacter(obj).sq_GetRestAni(); | 
					
						
							|  |  |  |         sq_AnimationProc(charAni); | 
					
						
							|  |  |  |         sq_drawCurrentFrame(charAni, X + 153, Y + 370, false); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //绘制右侧背景 | 
					
						
							|  |  |  |         L_sq_DrawWindow(X + 300, Y + 44, 420, 160, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13); //上背景框 | 
					
						
							|  |  |  |         L_sq_DrawWindow(X + 300, Y + 253, 420, 220, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13); //下背景框 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         Img["main"].DrawPng(1, X + 309, Y + 259); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function Show(obj) { | 
					
						
							|  |  |  |         DrawMain(obj); | 
					
						
							|  |  |  |         LenheartNewUI_Windows.Show(obj); | 
					
						
							|  |  |  |         //绘制魂石 | 
					
						
							|  |  |  |         if (PageFatalismStoneLst) { | 
					
						
							|  |  |  |             foreach(Pos, Stone in PageFatalismStoneLst) { | 
					
						
							|  |  |  |                 Stone.Show(obj, X + Stone.XPos, Y + Stone.YPos); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function TopShow(obj) { | 
					
						
							|  |  |  |         LenheartNewUI_Windows.TopShow(obj); | 
					
						
							|  |  |  |         //还没有初始化数据的时候直接返回 | 
					
						
							|  |  |  |         if (!PageFatalismStoneLst) return; | 
					
						
							|  |  |  |         local MousePos_X = IMouse.GetXPos(); | 
					
						
							|  |  |  |         local MousePos_Y = IMouse.GetYPos(); | 
					
						
							|  |  |  |         //魂石的悬停绘制 | 
					
						
							|  |  |  |         foreach(Pos, Stone in PageFatalismStoneLst) { | 
					
						
							|  |  |  |             if (sq_IsIntersectRect(MousePos_X, MousePos_Y, 1, 1, X + Stone.XPos, Y + Stone.YPos, 31, 31)) { | 
					
						
							|  |  |  |                 Stone.HoverShow(X + Stone.XPos + 31, Y + Stone.YPos); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         //绘制拖拽的魂石 | 
					
						
							|  |  |  |         if (DragObj) { | 
					
						
							|  |  |  |             DragObj.Show(obj, IMouse.GetXPos() - 15, IMouse.GetYPos() - 15); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //鼠标右键按下回调 | 
					
						
							|  |  |  |     function OnMouseRbDown(MousePos_X, MousePos_Y) { | 
					
						
							|  |  |  |         LenheartNewUI_BaseWindow.OnMouseRbDown(MousePos_X, MousePos_Y); | 
					
						
							|  |  |  |         if (PageFatalismStoneLst) { | 
					
						
							|  |  |  |             foreach(Pos, Stone in PageFatalismStoneLst) { | 
					
						
							|  |  |  |                 if (sq_IsIntersectRect(MousePos_X, MousePos_Y, 1, 1, X + Stone.XPos, Y + Stone.YPos, 31, 31)) { | 
					
						
							|  |  |  |                     // //发送穿戴装备包 | 
					
						
							|  |  |  |                     // SendPackEx({ | 
					
						
							|  |  |  |                     //     op = 21000003, | 
					
						
							|  |  |  |                     //     type = BackpackPage, | 
					
						
							|  |  |  |                     //     pos = Pos | 
					
						
							|  |  |  |                     // }) | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //当前拖拽的物品对象 | 
					
						
							|  |  |  |     DragObj = null; | 
					
						
							|  |  |  |     DragOldPos = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //鼠标左键按下回调 | 
					
						
							|  |  |  |     function OnMouseLbDown(MousePos_X, MousePos_Y) { | 
					
						
							|  |  |  |         LenheartNewUI_BaseWindow.OnMouseLbDown(MousePos_X, MousePos_Y); | 
					
						
							|  |  |  |         foreach(Pos, Stone in PageFatalismStoneLst) { | 
					
						
							|  |  |  |             if (sq_IsIntersectRect(MousePos_X, MousePos_Y, 1, 1, X + Stone.XPos, Y + Stone.YPos, 39, 35)) { | 
					
						
							|  |  |  |                 if (Stone.isSuccess) { | 
					
						
							|  |  |  |                     DragObj = Stone; | 
					
						
							|  |  |  |                     PageFatalismStoneLst[Pos] = FatalismStone_Stone(null); | 
					
						
							|  |  |  |                     PageFatalismStoneLst[Pos].InitializeData(DragObj.BackupInfo); | 
					
						
							|  |  |  |                     DragOldPos = Pos; | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //鼠标左键抬起回调 | 
					
						
							|  |  |  |     function OnMouseLbUp(MousePos_X, MousePos_Y) { | 
					
						
							|  |  |  |         LenheartNewUI_BaseWindow.OnMouseLbUp(MousePos_X, MousePos_Y); | 
					
						
							|  |  |  |         if (!PageFatalismStoneLst) return; | 
					
						
							|  |  |  |         foreach(Pos, Stone in PageFatalismStoneLst) { | 
					
						
							|  |  |  |             if (sq_IsIntersectRect(MousePos_X, MousePos_Y, 1, 1, X + Stone.XPos, Y + Stone.YPos, 39, 35)) { | 
					
						
							|  |  |  |                 if (DragObj) { | 
					
						
							|  |  |  |                     //获取到旧的穿戴类型 | 
					
						
							|  |  |  |                     local OldEType = DragObj.Stone_Type; | 
					
						
							|  |  |  |                     //获取到新的穿戴类型 | 
					
						
							|  |  |  |                     local NewEType = Stone.Stone_Type; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                     //如果两个类型相同则进行交换  相同位置也不发包 | 
					
						
							|  |  |  |                     if (OldEType == NewEType && DragOldPos != Pos) { | 
					
						
							|  |  |  |                         SendPackEx({ | 
					
						
							|  |  |  |                             op = 21000003, | 
					
						
							|  |  |  |                             oldtype = DragOldPos >= GridCount ? -1 : BackpackPage, | 
					
						
							|  |  |  |                             oldpos = DragOldPos >= GridCount ? (DragOldPos - GridCount) : DragOldPos, | 
					
						
							|  |  |  |                             newtype = Pos >= GridCount ? -1 : BackpackPage, | 
					
						
							|  |  |  |                             newpos = Pos >= GridCount ? (Pos - GridCount) : Pos | 
					
						
							|  |  |  |                         }) | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                     //播放移动声音 | 
					
						
							|  |  |  |                     R_Utils.PlaySound(DragObj.Info["move wav"]); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                     //放回原位 | 
					
						
							|  |  |  |                     PageFatalismStoneLst[DragOldPos] = DragObj; | 
					
						
							|  |  |  |                     DragObj = null; | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-16 15:21:32 +08:00
										 |  |  |     Cetshi = 0; | 
					
						
							| 
									
										
										
										
											2025-06-30 00:25:43 +08:00
										 |  |  |     //逻辑入口 | 
					
						
							|  |  |  |     function Proc(obj) { | 
					
						
							|  |  |  |         LenheartNewUI_Windows.SyncPos(X, Y); | 
					
						
							| 
									
										
										
										
											2025-07-16 15:21:32 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |         if (Clock() - Cetshi > 100) { | 
					
						
							|  |  |  |             Cetshi = Clock(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2025-06-30 00:25:43 +08:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function InitFatalismStoneLst() { | 
					
						
							|  |  |  |         FatalismStoneLst = {}; | 
					
						
							|  |  |  |         Rindro_Script.GetFileData("fatalismstone/fatalismstone.lst", function(DataTable, Data) { | 
					
						
							|  |  |  |             while (!Data.Eof()) { | 
					
						
							|  |  |  |                 local Id = Data.Get(); | 
					
						
							|  |  |  |                 local Path = Data.Get(); | 
					
						
							|  |  |  |                 FatalismStoneLst.rawset(Id, Path); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         }); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function InitImg() { | 
					
						
							|  |  |  |         Img = {}; | 
					
						
							|  |  |  |         Img["main"] <- Rindro_Image("hud/fatalism_stone.img"); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function OpenCallBack() { | 
					
						
							|  |  |  |         Visible = true; | 
					
						
							|  |  |  |         QueryFatalismStoneBackpack(); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | L_Windows_List <- []; | 
					
						
							|  |  |  | getroottable().rawdelete("LenheartPluginsInitFlag"); | 
					
						
							|  |  |  | getroottable().rawdelete("EventList_Obj") | 
					
						
							|  |  |  | getroottable().rawdelete("FatalismStone_Obj"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function Lenheart_FatalismStone_Fun(obj) { | 
					
						
							|  |  |  |     local RootTab = getroottable(); | 
					
						
							|  |  |  |     if (!RootTab.rawin("FatalismStone_Obj")) { | 
					
						
							|  |  |  |         RootTab.rawset("FatalismStone_Obj", true); | 
					
						
							|  |  |  |         local Win = LenheartNewUI_CreateWindow(FatalismStoneC, "宿命魂石窗口", ((getroottable().Rindro_Scr_Width - 753) / 2).tointeger(), 35, 753, 518, 20); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         EventList_Obj.AddEvent("宿命魂石", 280, Win, "interface2/hud/information_button/information_button_cn.img"); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-16 15:21:32 +08:00
										 |  |  | getroottable()["LenheartFuncTab"].rawset("FatalismStoneFuncN", Lenheart_FatalismStone_Fun); |