/// <summary> /// 进入远洋海盗船 /// </summary> /// <param name="type"></param> public static void EnterCorsair(uint type) { if (type == 1) { if (SceneHelp.CheckCanSwitch(GameConst.WAR_TYPE_DUNGEON, GameConst.WAR_SUBTYPE_CORSAIR) == false) { return; } if (PKModeManagerEx.Instance.TryToOtherDungeonScene() == false) { return; } JumpToInstance(0, GameConst.WAR_TYPE_DUNGEON, GameConst.WAR_SUBTYPE_CORSAIR, () => { var pack = new C2SDungeonCorsairEnter(); pack.type = type; NetClient.GetBaseClient().SendData <C2SDungeonCorsairEnter>(NetMsg.MSG_DUNGEON_CORSAIR_ENTER, pack); }); } else { var pack = new C2SDungeonCorsairEnter(); pack.type = type; NetClient.GetBaseClient().SendData <C2SDungeonCorsairEnter>(NetMsg.MSG_DUNGEON_CORSAIR_ENTER, pack); } }
/// <summary> /// 进入帮派红包雨 /// </summary> /// <param name="playJumpOutAnimation"></param> public static void EnterGuildRainRedPacket(bool playJumpOutAnimation = true) { if (SceneHelp.Instance.IsInGuildManor == true) { UINotice.Instance.ShowMessage(DBConstText.GetText("GUILD_ALREADY_IN_GUILD_MANOR")); return; } if (SceneHelp.CheckCanSwitch(GameConst.WAR_TYPE_WILD, GameConst.WAR_SUBTYPE_GUILD_MANOR) == false) { return; } if (PKModeManagerEx.Instance.TryToOtherDungeonScene() == false) { return; } if (playJumpOutAnimation) { JumpToInstance(0, GameConst.WAR_TYPE_WILD, GameConst.WAR_SUBTYPE_GUILD_MANOR, () => { var pack = new C2SMoneyRainStart(); NetClient.GetBaseClient().SendData <C2SMoneyRainStart>(NetMsg.MSG_MONEY_RAIN_START, pack); }); } else { var pack = new C2SMoneyRainStart(); NetClient.GetBaseClient().SendData <C2SMoneyRainStart>(NetMsg.MSG_MONEY_RAIN_START, pack); } }
/// <summary> /// 点击前往挂机点的按钮 /// </summary> public void OnClickGotoMonster() { // 本地玩家是否处于护送状态 if (SceneHelp.CheckLocalPlayerEscortTaskState() == false) { return; } if (mCurrentMonsterInfo == null) { return; } // 记录当弹出退出提示的时候是否要继续自动战斗 if (SceneHelp.Instance.IsInInstance == true || SceneHelp.Instance.IsCanExitBtnInWild == true) { SceneHelp.Instance.IsAutoFightingWhenShowExitTips = InstanceManager.Instance.IsAutoFighting || SceneHelp.Instance.IsAutoFightingWhenShowExitTips; } // 首先取消自动挂机 InstanceManager.Instance.IsAutoFighting = false; // 世界boss默认刷新到1分线 if (ActorHelper.IsWorldBoss(mCurrentMonsterInfo.ActorId) && !SceneHelp.Instance.IsInFirstWorldBossInstance) { if (SceneHelp.CheckCanSwitch(mCurrentMonsterInfo.MapId, true) == true) { TargetPathManager.Instance.GoToConstPosition(mCurrentMonsterInfo.MapId, 1, mCurrentMonsterInfo.Position, null, () => { InstanceManager.Instance.SetOnHook(true); }); } } else { // 从服务器那里获取挂机位置 uint hangId = DBHang.Instance.GetHangIdByInstanceIdAndTagId(mCurrentMonsterInfo.MapId, (uint)mCurrentMonsterInfo.Id); uint tagIndex = DBHang.Instance.GetTagIndexByInstanceIdAndTagId(mCurrentMonsterInfo.MapId, (uint)mCurrentMonsterInfo.Id); if (hangId > 0) { var data = new C2SMapGetHangPos(); data.data_id = hangId; data.nth_pos = tagIndex; NetClient.GetBaseClient().SendData <C2SMapGetHangPos>(NetMsg.MSG_MAP_GET_HANG_POS, data); } // 如果配置表没有数据则客户端直接跳转 else { if (SceneHelp.CheckCanSwitch(mCurrentMonsterInfo.MapId, true) == true) { TargetPathManager.Instance.GoToConstPosition(mCurrentMonsterInfo.MapId, SceneHelp.Instance.CurLine, mCurrentMonsterInfo.Position, null, () => { InstanceManager.Instance.SetOnHook(true); }); } } } UIManager.Instance.CloseSysWindow("UIMapWindow"); }
/// <summary> /// 进入武神塔 /// </summary> public static void EnterKungFuGod() { if (SceneHelp.CheckCanSwitch(GameConst.WAR_TYPE_DUNGEON, GameConst.WAR_SUBTYPE_SECRET_AREA) == false) { return; } if (PKModeManagerEx.Instance.TryToOtherDungeonScene() == false) { return; } JumpToInstance(0, GameConst.WAR_TYPE_DUNGEON, GameConst.WAR_SUBTYPE_SECRET_AREA, () => { var pack = new C2SDungeonSecretAreaEnter(); NetClient.GetBaseClient().SendData <C2SDungeonSecretAreaEnter>(NetMsg.MSG_DUNGEON_SECRET_AREA_ENTER, pack); }); }
/// <summary> /// 进入剑域盛会 /// </summary> public static void EnterWorshipMeeting() { if (SceneHelp.CheckCanSwitch(GameConst.WAR_TYPE_DUNGEON, GameConst.WAR_SUBTYPE_WORSHIP_MEETING) == false) { return; } if (PKModeManagerEx.Instance.TryToOtherDungeonScene() == false) { return; } JumpToInstance(0, GameConst.WAR_TYPE_DUNGEON, GameConst.WAR_SUBTYPE_WORSHIP_MEETING, () => { var pack = new C2SDungeonWorshipMeetingEnter(); NetClient.GetBaseClient().SendData <C2SDungeonWorshipMeetingEnter>(NetMsg.MSG_DUNGEON_WORSHIP_MEETING_ENTER, pack); }); }
/// <summary> /// 进入帮派联赛 /// </summary> public static void EnterGuildLeague() { if (SceneHelp.Instance.IsInGuildLeagueInstance() == true) { UINotice.Instance.ShowMessage(DBConstText.GetText("GUILD_ALREADY_IN_GUILD_LEAGUE")); return; } if (SceneHelp.CheckCanSwitch(GameConst.WAR_TYPE_DUNGEON, GameConst.WAR_SUBTYPE_GUILD_LEAGUE) == false) { return; } JumpToInstance(0, GameConst.WAR_TYPE_DUNGEON, GameConst.WAR_SUBTYPE_GUILD_LEAGUE, () => { var pack = new C2SGuildLeagueEnter(); NetClient.GetBaseClient().SendData <C2SGuildLeagueEnter>(NetMsg.MSG_GUILD_LEAGUE_ENTER, pack); }); }
/// <summary> /// 进入婚宴副本 /// </summary> public static void EnterWeddingInstance() { if (SceneHelp.Instance.IsInWeddingInstance == true) { UINotice.Instance.ShowMessage(DBConstText.GetText("INSTANCE_ALREADY_IN_IT")); return; } if (SceneHelp.CheckCanSwitch(GameConst.WAR_TYPE_DUNGEON, GameConst.WAR_SUBTYPE_WEDDING) == false) { return; } JumpToInstance(0, GameConst.WAR_TYPE_DUNGEON, GameConst.WAR_SUBTYPE_WEDDING, () => { var pack = new C2SDungeonWeddingEnter(); NetClient.GetBaseClient().SendData <C2SDungeonWeddingEnter>(NetMsg.MSG_DUNGEON_WEDDING_ENTER, pack); }); }
/// <summary> /// 进入破碎死域 /// </summary> public static void EnterDeadSpace() { if (SceneHelp.Instance.IsInDeadSpaceInstance == true) { xc.UINotice.Instance.ShowMessage(DBConstText.GetText("INSTANCE_ALREADY_IN_IT")); return; } if (SceneHelp.CheckCanSwitch(GameConst.WAR_TYPE_DUNGEON, GameConst.WAR_SUBTYPE_DEAD_SPACE) == false) { return; } if (PKModeManagerEx.Instance.TryToOtherDungeonScene() == false) { return; } JumpToInstance(0, GameConst.WAR_TYPE_DUNGEON, GameConst.WAR_SUBTYPE_DEAD_SPACE, () => { var pack = new C2SDungeonDeadSpaceEnter(); NetClient.GetBaseClient().SendData <C2SDungeonDeadSpaceEnter>(NetMsg.MSG_DUNGEON_DEAD_SPACE_ENTER, pack); }); }