FightProc.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace loyalsoft;
  3. require_once __DIR__ . '/FightProc/SweepGatesProc.php';
  4. require_once __DIR__ . '/FightProc/PVPProc.php';
  5. /**
  6. * 战斗业务逻辑分发
  7. * @author gwang
  8. */
  9. class FightProc {
  10. /**
  11. * 战斗逻辑分发
  12. * 所有的Proc中必须有这样一个方法
  13. */
  14. static function procMain() {
  15. switch (req()->cmd) {
  16. # 关卡-征战
  17. case CmdCode::cmd_fight_arenas_preFight: # 6800 关卡挑战 - 预先计算掉落
  18. return SweepGatesProc::Arenas_preFight();
  19. case CmdCode::cmd_fight_arenasfight: # 6801 挑战关卡
  20. return SweepGatesProc::Arenas_Fight();
  21. case CmdCode::cmd_fight_arenassweep: # [6802] 扫荡
  22. Err(ErrCode::function_notopen_msg); # 暂未开放扫荡功能. -gwang 2020.4.20
  23. return SweepGatesProc::Arenas_NewSweepFight();
  24. case CmdCode::cmd_fight_GetArenasActiveReward: # 6806 领取章节星级奖励
  25. return SweepGatesProc::DrawChapterStarsReward();
  26. // <editor-fold defaultstate="collapsed" desc=" 玩家挑战 ">
  27. case CmdCode::cmd_fight_GetChallengeAdversaryInfo: # 6803 获取挑战对手的信息
  28. return PVPProc::GetChallengeAdversaryInfo();
  29. case CmdCode::cmd_fight_LogChallengeResult: # 6804 记录挑战结果
  30. return PVPProc::LogChallengeInfo();
  31. case CmdCode::cmd_fight_GetChallengeLog: # 6805 拉取挑战记录
  32. return PVPProc::GetChagllengeLog();
  33. // </editor-fold>
  34. // <editor-fold defaultstate="collapsed" desc=" PVP 模块 681x ">
  35. case CmdCode::cmd_fight_pvp_maininfo: # [6810] 竞技场 主界面拉取信息
  36. return PVPProc::pvpMainInfo();
  37. case CmdCode::cmd_fight_pvp_refresh: # [6811] 竞技场 刷新对手列表
  38. return PVPProc::pvp_Refresh();
  39. case CmdCode::cmd_fight_pvp_pk: # [6812] 竞技场 挑战对手
  40. return PVPProc::pvp_PK();
  41. case CmdCode::cmd_fight_pvp_setTeam: # [6813] 竞技场 设定防守队伍
  42. return PVPProc::pvp_setTeam();
  43. case CmdCode::cmd_fight_pvp_buyTicket: # [6814] 竞技场 购买挑战票
  44. return PVPProc::pvp_buyticket();
  45. case CmdCode::cmd_fight_pvp_getrank: # [6815] 竞技场 查看排行榜
  46. return PVPProc::pvp_getRank();
  47. case CmdCode::cmd_fight_pvp_getLog: # [6816] 竞技场 查看挑战记录
  48. return PVPProc::pvp_getFightLogs();
  49. // </editor-fold>
  50. // <editor-fold defaultstate="collapsed" desc=" 竞技商店 682x ">
  51. case CmdCode::cmd_fight_pvpShop_getMainInfo: # [6820] 竞技场 竞技商店主界面
  52. return PVPProc::pvpShopMain();
  53. case CmdCode::cmd_fight_pvpShop_buy: # [6821] 竞技场 竞技商店购买道具
  54. return PVPProc::pvpShopBuy();
  55. case CmdCode::cmd_fight_pvpShop_refresh: # [6822] 竞技场 竞技商店刷新道具(扣钻)
  56. return PVPProc::pvpShopRefresh();
  57. // </editor-fold>
  58. default:
  59. return Resp::err(ErrCode::cmd_err);
  60. }
  61. }
  62. /**
  63. * 清理每日字段
  64. */
  65. static function ClearByDay() {
  66. SweepGatesProc::ClearGateTimes(); # 清理每个难度副本的每日战斗次数
  67. $pvp = new Info_UserPVP(req()->userInfo->game->pvp);
  68. $pvp->refreshDailyData();
  69. $pvp->sendRewardEmail(req()->zoneid, req()->uid, PVPProc::GetCurSeasonID());
  70. req()->userInfo->game->pvp = $pvp;
  71. }
  72. }