| 
									
										
										
										
											2024-11-15 10:32:19 +08:00
										 |  |  | /* | 
					
						
							|  |  |  | 文件名:Rindro_Luke.nut | 
					
						
							|  |  |  | 路径:Project/Luke/Rindro_Luke.nut | 
					
						
							|  |  |  | 创建日期:2024-08-13	09:30 | 
					
						
							|  |  |  | 文件用途:卢克 | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-10-14 09:17:56 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-11-15 10:32:19 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | //卢克核心数据类 | 
					
						
							|  |  |  | class RinDro_Luke extends Rindro_BaseToolClass { | 
					
						
							|  |  |  |     //基础配置 | 
					
						
							|  |  |  |     BaseConfig = null; | 
					
						
							|  |  |  |     //攻坚配置 | 
					
						
							|  |  |  |     FightConfig = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //我的攻坚队状态 | 
					
						
							|  |  |  |     MyRaidState = null; | 
					
						
							|  |  |  |     //我的攻坚队伍 | 
					
						
							|  |  |  |     MyRaidTeam = null; | 
					
						
							|  |  |  |     //我的攻坚队伍ID | 
					
						
							|  |  |  |     MyRaidTeamId = null; | 
					
						
							|  |  |  |     //我的Cid | 
					
						
							|  |  |  |     MyCid = null; | 
					
						
							|  |  |  |     //我是否是攻坚队队长 | 
					
						
							|  |  |  |     IsCaptain = null; | 
					
						
							|  |  |  |     //结束时间 | 
					
						
							|  |  |  |     EndTime = null; | 
					
						
							|  |  |  |     //我的攻坚队攻坚阶段 | 
					
						
							|  |  |  |     RaidStage = 0; | 
					
						
							|  |  |  |     //我的攻坚队伍头像存储 | 
					
						
							|  |  |  |     Portrait = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //卢克我的队伍窗口 | 
					
						
							|  |  |  |     PartyWindow_Object = null; | 
					
						
							|  |  |  |     //攻坚战况表窗口 | 
					
						
							|  |  |  |     FightSituationWindow_Object = null; | 
					
						
							|  |  |  |     //攻坚大厅窗口 | 
					
						
							|  |  |  |     PartyHallWindow_Object = null; | 
					
						
							|  |  |  |     //翻牌奖励窗口 | 
					
						
							|  |  |  |     RewardWindow_Object = null; | 
					
						
							|  |  |  |     //编队窗口 | 
					
						
							|  |  |  |     PartyFormationWindow_Object = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //攻坚开始动画的Flag | 
					
						
							|  |  |  |     DrawStartAniMark = false; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //请求基础信息配置 | 
					
						
							|  |  |  |     function GetFiendwarBase() { | 
					
						
							|  |  |  |         local T = { | 
					
						
							|  |  |  |             op = 20084501, | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         SendPackEx(T); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     //请求掉线配置信息 | 
					
						
							|  |  |  |     function GetFiendwarDown() { | 
					
						
							|  |  |  |         local T = { | 
					
						
							|  |  |  |             op = 20084063, | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         SendPackEx(T); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //基础信息配置 | 
					
						
							|  |  |  |     function FiendwarBase(Chunk) { | 
					
						
							|  |  |  |         BaseConfig = Json.Decode(Chunk); | 
					
						
							|  |  |  |         FiendwarChannelTownLogicCallBack(); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //基础攻坚信息配置 | 
					
						
							|  |  |  |     function LukeFightBase(Chunk) { | 
					
						
							|  |  |  |         FightConfig = Json.Decode(Chunk); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //团本专属频道上线城镇移动包 | 
					
						
							|  |  |  |     function FiendwarChannelTownLogicCallBack() { | 
					
						
							|  |  |  |         if (BaseConfig.channel_index.find("19")) { | 
					
						
							|  |  |  |             if (L_sq_GetTownIndex() != BaseConfig.town_index) { | 
					
						
							|  |  |  |                 L_sq_MoveTown(BaseConfig.town_index, 0, 474, 249); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } else { | 
					
						
							|  |  |  |             //在卢克区域的 要转移回普通城镇 | 
					
						
							|  |  |  |             if (L_sq_GetTownIndex() == BaseConfig.town_index) { | 
					
						
							| 
									
										
										
										
											2025-05-27 21:24:22 +08:00
										 |  |  |                 L_sq_MoveTown(getroottable().rawin("RindroRaidNormalTown") ? getroottable().RindroRaidNormalTown : 2, getroottable().rawin("RindroRaidNormalArea") ? getroottable().RindroRaidNormalArea : 1, 474, 249); | 
					
						
							| 
									
										
										
										
											2024-11-15 10:32:19 +08:00
										 |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //获取攻坚队信息回调 | 
					
						
							|  |  |  |     function GetTeamInfoCallBack(Chunk) { | 
					
						
							|  |  |  |         local Jso = Json.Decode(Chunk); | 
					
						
							|  |  |  |         local ZlibStr = Jso.ZipS; | 
					
						
							|  |  |  |         Jso.ZipS = Json.Decode(L_sq_Dezlib(Jso.ZipS)); | 
					
						
							|  |  |  |         Jso.team <- Jso.ZipS.team; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //取的窗口对象 | 
					
						
							|  |  |  |         local Win = PartyWindow_Object; | 
					
						
							|  |  |  |         Win.InfoFlag = true; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //如果攻坚队伍信息中已经有了角色成员  清空成员对象集合 | 
					
						
							|  |  |  |         for (local i = 0; i< Win.Childrens.len(); i++) { | 
					
						
							|  |  |  |             local Cobj = Win.Childrens[i]; | 
					
						
							|  |  |  |             if (Cobj instanceof Rindro_LukePartyInfoMemberC) { | 
					
						
							|  |  |  |                 Win.Childrens.remove(i); | 
					
						
							|  |  |  |                 i--; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         //重置成员数组 | 
					
						
							|  |  |  |         Win.MembersList = []; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //清空是否为我的队伍状态 | 
					
						
							|  |  |  |         Win.IsMyTeam = false; | 
					
						
							|  |  |  |         //清空是否为队长状态 | 
					
						
							|  |  |  |         Win.IsCaptain = false; | 
					
						
							|  |  |  |         //赋值队伍名称 | 
					
						
							|  |  |  |         Win.TeamName = Jso.team.TeamName; | 
					
						
							|  |  |  |         //赋值队伍ID | 
					
						
							|  |  |  |         Win.TeamID = Jso.team.TeamId; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //还原头像 | 
					
						
							|  |  |  |         Portrait = {}; | 
					
						
							|  |  |  |         //遍历Team包 用于构造队伍窗口中的每一位成员 | 
					
						
							|  |  |  |         foreach(_index, MemberObj in Jso.team.characNum) { | 
					
						
							|  |  |  |             // for (local i = 0; i< 8; i++) { | 
					
						
							|  |  |  |             //     local MemberObj = Jso.team.characNum[0]; | 
					
						
							|  |  |  |             // local MemberObj = Jso.team.characNum[0]; | 
					
						
							|  |  |  |             //说明我在这个攻坚队里 | 
					
						
							|  |  |  |             if (Jso.cid == MemberObj.CID) { | 
					
						
							|  |  |  |                 Win.IsMyTeam = true; | 
					
						
							|  |  |  |                 MyRaidState = Jso.team.State; | 
					
						
							|  |  |  |                 MyRaidTeam = PartyWindow_Object; | 
					
						
							|  |  |  |                 //向全局类存入我的攻坚队伍ID | 
					
						
							|  |  |  |                 MyRaidTeamId = Jso.team.TeamId; | 
					
						
							|  |  |  |                 //存入我的CID | 
					
						
							|  |  |  |                 MyCid = Jso.cid; | 
					
						
							|  |  |  |                 //说明是队长 | 
					
						
							|  |  |  |                 if (Jso.cid == Jso.team.captainCid) { | 
					
						
							|  |  |  |                     Win.IsCaptain = true; | 
					
						
							|  |  |  |                     //存入我是攻坚队队长 | 
					
						
							|  |  |  |                     IsCaptain = true; | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             //构造CID对应的装备数组方便绘制 | 
					
						
							|  |  |  |             Portrait.rawset(MemberObj.CID, { | 
					
						
							| 
									
										
										
										
											2025-05-27 21:24:22 +08:00
										 |  |  |                 EquVos = Rindro_Draw_Character(MemberObj.PlayerJob, MemberObj.equVos, "rest.ani", null), | 
					
						
							| 
									
										
										
										
											2024-11-15 10:32:19 +08:00
										 |  |  |                 Job = MemberObj.PlayerJob, | 
					
						
							|  |  |  |                 TeamId = MemberObj.characNum, | 
					
						
							|  |  |  |                 Name = MemberObj.PlayerName, | 
					
						
							|  |  |  |             }); | 
					
						
							| 
									
										
										
										
											2025-05-27 21:24:22 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-11-15 10:32:19 +08:00
										 |  |  |             local T = { | 
					
						
							|  |  |  |                 PartyId = Jso.team.TeamId, //攻坚队ID | 
					
						
							|  |  |  |                 TeamId = MemberObj.characNum, //小队编号 | 
					
						
							|  |  |  |                 Level = MemberObj.PlayerLevel.tostring(), //等级 | 
					
						
							|  |  |  |                 Name = MemberObj.PlayerName, //名字 | 
					
						
							|  |  |  |                 JobName = MemberObj.PlayerGrowTypeJob, //职业名 | 
					
						
							|  |  |  |                 Job = MemberObj.PlayerJob, //职业编号 | 
					
						
							|  |  |  |                 StkHasFlag = MemberObj.isPrepare, //是否拥有攻坚材料 | 
					
						
							| 
									
										
										
										
											2025-05-27 21:24:22 +08:00
										 |  |  |                 EquVos = Rindro_Draw_Character(MemberObj.PlayerJob, MemberObj.equVos, "rest.ani", null), //装备List 用于显示头像 | 
					
						
							| 
									
										
										
										
											2024-11-15 10:32:19 +08:00
										 |  |  |                 Captain = MemberObj.CaptainBool, //是否为攻坚队队长 | 
					
						
							|  |  |  |                 Cid = MemberObj.CID, //Cid | 
					
						
							|  |  |  |                 OnlineState = MemberObj.onLineStart, //在线状态 | 
					
						
							|  |  |  |                 ExitTime = MemberObj.exitTime, //离队时间 | 
					
						
							|  |  |  |                 PlayerSession = MemberObj.PlayerSession, //玩家在世界中的Session 用于进行原生用户操作 | 
					
						
							|  |  |  |                 ClearanceCount = MemberObj.ClearanceCount, //通关次数 | 
					
						
							|  |  |  |                 ClearanceCountMax = FightConfig.rewardCondition, //总通关次数 | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             //通过类构造并添加队伍成员UI对象 | 
					
						
							|  |  |  |             local TeamBuf = Rindro_LukePartyInfoMemberC(T); | 
					
						
							|  |  |  |             Win.AddChild(TeamBuf); | 
					
						
							|  |  |  |             Win.MembersList.append(TeamBuf); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (("OpenWin" in Jso)) { | 
					
						
							|  |  |  |             //开启队伍窗口显示 | 
					
						
							|  |  |  |             Win.Visible = true; | 
					
						
							|  |  |  |             //设置置顶 | 
					
						
							|  |  |  |             Win.ResetFocus(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //攻坚队攻坚开始回调 | 
					
						
							|  |  |  |     function RaidStartFightCallBack(Chunk) { | 
					
						
							|  |  |  |         local Jso = Json.Decode(Chunk); | 
					
						
							|  |  |  |         RaidStage = Jso.state; | 
					
						
							|  |  |  |         MyRaidState = Jso.state; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //在获取一下攻坚队信息 | 
					
						
							|  |  |  |         local Jso = { | 
					
						
							|  |  |  |             op = 20084011 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         SendPackEx(Jso); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //结束时间 | 
					
						
							|  |  |  |     EndTime = null; | 
					
						
							|  |  |  |     //上次刷新信息包的时间 | 
					
						
							|  |  |  |     PackCurT = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //攻坚队信息包 | 
					
						
							|  |  |  |     function RaidFightInfoCallBack(Chunk) { | 
					
						
							|  |  |  |         PackCurT = Clock(); | 
					
						
							|  |  |  |         local Info = Json.Decode(Chunk).fightInfo; | 
					
						
							|  |  |  |         EndTime = Info.endTime; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (FightSituationWindow_Object) FightSituationWindow_Object.InitInfo(Info); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //如果存在 | 
					
						
							|  |  |  |         if (MyRaidTeam && MyRaidTeam.InfoFlag) { | 
					
						
							|  |  |  |             for (local i = 0; i< MyRaidTeam.MembersList.len(); i++) { | 
					
						
							|  |  |  |                 local PInfo = MyRaidTeam.MembersList[i].InfoObj; | 
					
						
							|  |  |  |                 local CID = PInfo.Cid; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 local Flag = false; | 
					
						
							|  |  |  |                 foreach(scid in Info.Standby) { | 
					
						
							|  |  |  |                     if (scid == CID) Flag = true; | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |                 if (Flag) { | 
					
						
							|  |  |  |                     MyRaidTeam.MembersList[i].InfoObj.Standby <- true; | 
					
						
							|  |  |  |                 } else { | 
					
						
							|  |  |  |                     MyRaidTeam.MembersList[i].InfoObj.Standby <- false; | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //收到奖励包 | 
					
						
							|  |  |  |     function RaidRewardInfoCallBack(Chunk) { | 
					
						
							|  |  |  |         local Info = Json.Decode(Chunk); | 
					
						
							|  |  |  |         RewardWindow_Object.Init(Info); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //收到初始化包 | 
					
						
							|  |  |  |     function RaidInitCallBack(Chunk) { | 
					
						
							|  |  |  |         //我的攻坚队状态 | 
					
						
							|  |  |  |         MyRaidState = null; | 
					
						
							|  |  |  |         //我的攻坚队伍 | 
					
						
							|  |  |  |         MyRaidTeam = null; | 
					
						
							|  |  |  |         //我的攻坚队伍ID | 
					
						
							|  |  |  |         MyRaidTeamId = null; | 
					
						
							|  |  |  |         //我的Cid | 
					
						
							|  |  |  |         MyCid = null; | 
					
						
							|  |  |  |         //我是否是攻坚队队长 | 
					
						
							|  |  |  |         IsCaptain = null; | 
					
						
							|  |  |  |         //结束时间 | 
					
						
							|  |  |  |         EndTime = null; | 
					
						
							|  |  |  |         //我的攻坚队攻坚阶段 | 
					
						
							|  |  |  |         RaidStage = 0; | 
					
						
							|  |  |  |         //我的攻坚队伍头像存储 | 
					
						
							|  |  |  |         Portrait = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //卢克我的队伍窗口 | 
					
						
							|  |  |  |         PartyWindow_Object.DestroyWindow(); | 
					
						
							|  |  |  |         //攻坚战况表窗口 | 
					
						
							|  |  |  |         FightSituationWindow_Object.DestroyWindow(); | 
					
						
							|  |  |  |         //攻坚大厅窗口 | 
					
						
							|  |  |  |         PartyHallWindow_Object.DestroyWindow(); | 
					
						
							|  |  |  |         //翻牌奖励窗口 | 
					
						
							|  |  |  |         RewardWindow_Object.DestroyWindow(); | 
					
						
							|  |  |  |         //编队窗口 | 
					
						
							|  |  |  |         PartyFormationWindow_Object.DestroyWindow(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //卢克我的队伍窗口 | 
					
						
							|  |  |  |         PartyWindow_Object = null; | 
					
						
							|  |  |  |         //攻坚战况表窗口 | 
					
						
							|  |  |  |         FightSituationWindow_Object = null; | 
					
						
							|  |  |  |         //攻坚大厅窗口 | 
					
						
							|  |  |  |         PartyHallWindow_Object = null; | 
					
						
							|  |  |  |         //翻牌奖励窗口 | 
					
						
							|  |  |  |         RewardWindow_Object = null; | 
					
						
							|  |  |  |         //编队窗口 | 
					
						
							|  |  |  |         PartyFormationWindow_Object = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     MonsterFMap = [202210052, 202210053, 202210054, 202210055]; | 
					
						
							|  |  |  |     //火山怪物投放包 | 
					
						
							|  |  |  |     function MonsterSendCallBack(Chunk) { | 
					
						
							|  |  |  |         local Info = Json.Decode(Chunk); | 
					
						
							|  |  |  |         if (sq_GetCurrentModuleType() == 3) { | 
					
						
							|  |  |  |             local obj = sq_GetMyMasterCharacter(); | 
					
						
							|  |  |  |             obj = sq_ObjectToSQRCharacter(obj); | 
					
						
							|  |  |  |             obj.sq_SendCreatePassiveObjectPacket(MonsterFMap[Info.id], 0, 120, 1, 0); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     constructor() { | 
					
						
							|  |  |  |         // DrawStartAniMark = true; | 
					
						
							|  |  |  |         // DrawStartAniT = Clock(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         Pack_Control.rawset(20084028, RaidStartFightCallBack.bindenv(this)); | 
					
						
							|  |  |  |         Pack_Control.rawset(20084016, RaidFightInfoCallBack.bindenv(this)); | 
					
						
							|  |  |  |         Pack_Control.rawset(20084004, GetTeamInfoCallBack.bindenv(this)); | 
					
						
							|  |  |  |         Pack_Control.rawset(20084036, LukeFightBase.bindenv(this)); | 
					
						
							|  |  |  |         //攻坚奖励包 | 
					
						
							|  |  |  |         Pack_Control.rawset(20084026, RaidRewardInfoCallBack.bindenv(this)); | 
					
						
							|  |  |  |         //初始化包  退出队伍 或者 被 请出队伍 | 
					
						
							|  |  |  |         Pack_Control.rawset(20084008, RaidInitCallBack.bindenv(this)); | 
					
						
							|  |  |  |         //火山怪物投放 | 
					
						
							|  |  |  |         Pack_Control.rawset(20084050, MonsterSendCallBack.bindenv(this)); | 
					
						
							|  |  |  |         //绘制动画包 | 
					
						
							|  |  |  |         Pack_Control.rawset(20084038, RaidPlayAniCallBack.bindenv(this)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //获取基础配置回调包 | 
					
						
							|  |  |  |         Pack_Control.rawset(20084502, FiendwarBase.bindenv(this)); | 
					
						
							|  |  |  |         //第一次上线要重新请求一下位置信息 | 
					
						
							|  |  |  |         GetFiendwarBase(); | 
					
						
							|  |  |  |         //看看是否有断线重连 | 
					
						
							|  |  |  |         GetFiendwarDown(); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function Proc(obj) { | 
					
						
							|  |  |  |         PartyHallWindow_Object = LenheartNewUI_CreateWindow(Rindro_Luke_PartyHallC, "新卢克攻坚大厅窗口", ((getroottable().Rindro_Scr_Width - 478)).tointeger(), 40, 478, 434, 18); | 
					
						
							|  |  |  |         PartyFormationWindow_Object = LenheartNewUI_CreateWindow(Rindro_LukePartyFormation, "卢克我的队伍编队窗口", 375, 190, 294, 192, 18); | 
					
						
							|  |  |  |         FightSituationWindow_Object = LenheartNewUI_CreateWindow(Rindro_LukeFightSituationC, "卢克攻坚战况表", ((getroottable().Rindro_Scr_Width - 800) / 2).tointeger(), 8, 800, 600, 0); | 
					
						
							| 
									
										
										
										
											2025-05-27 21:24:22 +08:00
										 |  |  |         PartyWindow_Object = LenheartNewUI_CreateWindow(Rindro_LukePartyInfoC, "卢克我的队伍窗口", 6, 15, 354, 566 - 255, 18); | 
					
						
							| 
									
										
										
										
											2024-11-15 10:32:19 +08:00
										 |  |  |         RewardWindow_Object = LenheartNewUI_CreateWindow(Rindro_Luke_RewardC, "卢克翻牌奖励窗口", 0, 0, 0, 0, 0); | 
					
						
							|  |  |  |         LenheartNewUI_CreateWindow(Rindro_Luke_NotiC, "卢克攻坚队伍消息分发", 0, 0, 0, 0, 0); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (FightSituationWindow_Object) FightSituationWindow_Object.TopDraw(obj); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //绘制动画 | 
					
						
							|  |  |  |         DrawPlayAni(obj); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     DrawPlayAniMark = null; | 
					
						
							|  |  |  |     DrawPlayAniT = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function RaidPlayAniCallBack(Chunk) { | 
					
						
							|  |  |  |         local Jso = Json.Decode(Chunk); | 
					
						
							|  |  |  |         DrawPlayAniMark = Jso.type; | 
					
						
							|  |  |  |         DrawPlayAniT = Clock(); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //绘制通关副本动画 | 
					
						
							|  |  |  |     function DrawPlayAni(obj) { | 
					
						
							|  |  |  |         if (!DrawPlayAniMark || !DrawPlayAniT) return; | 
					
						
							|  |  |  |         local Offset = 0; | 
					
						
							|  |  |  |         if (getroottable().Rindro_Scr_Width > 800) Offset = ((getroottable().Rindro_Scr_Width - 800) / 2); | 
					
						
							|  |  |  |         local Ct = Clock() - DrawPlayAniT; | 
					
						
							|  |  |  |         switch (DrawPlayAniMark) { | 
					
						
							|  |  |  |             case 1: //通关擎天A | 
					
						
							|  |  |  |             case 2: //通关擎天B | 
					
						
							|  |  |  |             case 13: //通关擎天B | 
					
						
							|  |  |  |                 local Ani = T_DrawDynamicAni(obj, "common/anton/title/04_clear_back.ani", 0 + Offset, 180, "卢克通关擎天A" + DrawPlayAniT); | 
					
						
							|  |  |  |                 local str = "擎天之柱A"; | 
					
						
							|  |  |  |                 if (DrawPlayAniMark == 2) str = "擎天之柱B" | 
					
						
							|  |  |  |                 if (DrawPlayAniMark == 13) str = "黑色火山" | 
					
						
							|  |  |  |                 if (Ct >= 350 && Ct <= 1400) L_sq_DrawCode(str, 236 + Offset + 158 - LenheartTextClass.GetStringLength(str) / 2, 244, sq_RGBA(255, 146, 0, 250), 0, 1); | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  |             case 5: | 
					
						
							|  |  |  |                 T_DrawDynamicAni(obj, "common/luke/newtile/00_start_back.ani", 401 + Offset, 210 + 26, "卢克阻截开始" + DrawPlayAniT); | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  |             case 6: | 
					
						
							|  |  |  |                 T_DrawDynamicAni(obj, "common/luke/newtile/02_success_back.ani", 401 + Offset, 210 + 26, "卢克阻截成功" + DrawPlayAniT); | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  |             case 7: | 
					
						
							|  |  |  |                 T_DrawDynamicAni(obj, "common/luke/newtile/01_fail_back.ani", 401 + Offset, 210 + 26, "卢克阻截失败" + DrawPlayAniT); | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  |             case 8: | 
					
						
							|  |  |  |                 T_DrawDynamicAni(obj, "common/luke/newtile/00_start_back_1.ani", 401 + Offset, 210 + 26, "卢克灭杀开始" + DrawPlayAniT); | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  |             case 9: | 
					
						
							|  |  |  |                 T_DrawDynamicAni(obj, "common/luke/newtile/02_success_back_1.ani", 401 + Offset, 210 + 26, "卢克灭杀成功" + DrawPlayAniT); | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  |             case 10: | 
					
						
							|  |  |  |                 T_DrawDynamicAni(obj, "common/luke/newtile/01_fail_back_1.ani", 401 + Offset, 210 + 26, "卢克灭杀失败" + DrawPlayAniT); | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  |             case 11: | 
					
						
							|  |  |  |             case 12: | 
					
						
							|  |  |  |                 T_DrawDynamicAni(obj, "common/anton/title/03_warning_back.ani", 0 + Offset, 210 + 26, "卢克火山警告" + DrawPlayAniT); | 
					
						
							|  |  |  |                 local str = "火山能量即将过载,请立即前往压制!!!"; | 
					
						
							|  |  |  |                 if (DrawPlayAniMark == 12) str = "震颤的大地已经复活,请立即前往压制!!!" | 
					
						
							|  |  |  |                 if (Ct >= 350 && Ct <= 1600) L_sq_DrawCode(str, 236 + Offset + 158 - LenheartTextClass.GetStringLength(str) / 2, 320, sq_RGBA(255, 50, 50, 250), 0, 1); | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  |             default: | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (Ct >= 3000) { | 
					
						
							|  |  |  |             DrawPlayAniMark = null; | 
					
						
							|  |  |  |             DrawPlayAniT = null; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | getroottable().rawdelete("RinDro_Luke_Obj"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function Lenheart_Rindro_Luke_New(obj) { | 
					
						
							|  |  |  |     local RootTab = getroottable(); | 
					
						
							|  |  |  |     if (!RootTab.rawin("RinDro_Luke_Obj")) { | 
					
						
							|  |  |  |         RootTab.rawset("RinDro_Luke_Obj", RinDro_Luke()); | 
					
						
							|  |  |  |     } else { | 
					
						
							|  |  |  |         RootTab["RinDro_Luke_Obj"].Proc(obj); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if (getroottable().rawin("LenheartTopFuncTab")) { | 
					
						
							|  |  |  |     getroottable()["LenheartTopFuncTab"].rawset("Lenheart_Rindro_Luke_NewFunc", Lenheart_Rindro_Luke_New); | 
					
						
							|  |  |  | } else { | 
					
						
							|  |  |  |     local T = {}; | 
					
						
							|  |  |  |     T.rawset("Lenheart_Rindro_Luke_NewFunc", Lenheart_Rindro_Luke_New); | 
					
						
							|  |  |  |     getroottable().rawset("LenheartTopFuncTab", T); | 
					
						
							|  |  |  | } |