FightProc.php 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. * @param Req $req
  14. */
  15. static function procMain($req) {
  16. switch ($req->cmd) {
  17. # 关卡-征战
  18. case CmdCode::cmd_fight_arenas_preFight: # 6800 关卡挑战 - 预先计算掉落
  19. return SweepGatesProc::Arenas_preFight($req);
  20. case CmdCode::cmd_fight_arenasfight: # 6801 挑战关卡
  21. return SweepGatesProc::Arenas_Fight($req);
  22. case CmdCode::cmd_fight_arenassweep: # [6802] 扫荡
  23. Err(ErrCode::function_notopen_msg); # 暂未开放扫荡功能. -gwang 2020.4.20
  24. return SweepGatesProc::Arenas_NewSweepFight($req);
  25. // <editor-fold defaultstate="collapsed" desc=" 玩家挑战 ">
  26. case CmdCode::cmd_fight_GetChallengeAdversaryInfo: # 6803 获取挑战对手的信息
  27. return PVPProc::GetChallengeAdversaryInfo($req);
  28. case CmdCode::cmd_fight_LogChallengeResult: # 6804 记录挑战结果
  29. return PVPProc::LogChallengeInfo($req);
  30. case CmdCode::cmd_fight_GetChallengeLog: # 6805 拉取挑战记录
  31. return PVPProc::GetChagllengeLog($req);
  32. // </editor-fold>
  33. // <editor-fold defaultstate="collapsed" desc=" PVP 模块 681x ">
  34. case CmdCode::cmd_fight_pvp_maininfo: # [6810] 竞技场 主界面拉取信息
  35. return PVPProc::pvpMainInfo($req);
  36. case CmdCode::cmd_fight_pvp_refresh: # [6811] 竞技场 刷新对手列表
  37. return PVPProc::pvp_Refresh($req);
  38. case CmdCode::cmd_fight_pvp_pk: # [6812] 竞技场 挑战对手
  39. return PVPProc::pvp_PK($req);
  40. case CmdCode::cmd_fight_pvp_setTeam: # [6813] 竞技场 设定防守队伍
  41. return PVPProc::pvp_setTeam($req);
  42. case CmdCode::cmd_fight_pvp_buyTicket: # [6814] 竞技场 购买挑战票
  43. return PVPProc::pvp_buyticket($req);
  44. case CmdCode::cmd_fight_pvp_getrank: # [6815] 竞技场 查看排行榜
  45. return PVPProc::pvp_getRank($req);
  46. case CmdCode::cmd_fight_pvp_getLog: # [6816] 竞技场 查看挑战记录
  47. return PVPProc::pvp_getFightLogs($req);
  48. // </editor-fold>
  49. // <editor-fold defaultstate="collapsed" desc=" 竞技商店 682x ">
  50. case CmdCode::cmd_fight_pvpShop_getMainInfo: # [6820] 竞技场 竞技商店主界面
  51. return PVPProc::pvpShopMain($req);
  52. case CmdCode::cmd_fight_pvpShop_buy: # [6821] 竞技场 竞技商店购买道具
  53. return PVPProc::pvpShopBuy($req);
  54. case CmdCode::cmd_fight_pvpShop_refresh: # [6822] 竞技场 竞技商店刷新道具(扣钻)
  55. return PVPProc::pvpShopRefresh($req);
  56. // </editor-fold>
  57. default:
  58. return Resp::err(ErrCode::cmd_err);
  59. }
  60. }
  61. /**
  62. * @param Req $req
  63. */
  64. static function ClearByDay($req) {
  65. SweepGatesProc::ClearGateTimes($req); # 清理每个难度副本的每日战斗次数
  66. $pvp = new UserPVPModel($req->userInfo->game->pvp);
  67. $pvp->refreshDailyData();
  68. $pvp->sendRewardEmail($req->zoneid, $req->uid, PVPProc::GetCurSeasonID());
  69. $req->userInfo->game->pvp = $pvp;
  70. }
  71. }