源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 line
1.8 KiB

  1. require("game.pkstatus.PKStatusModel")
  2. require("game.pkstatus.PKStatusMainUI")
  3. PKStatusController = PKStatusController or BaseClass(BaseController)
  4. function PKStatusController:__init()
  5. PKStatusController.Instance = self
  6. self.model = PKStatusModel:getInstance()
  7. self:RegisterAllProtocals()
  8. self:InitEvents()
  9. end
  10. function PKStatusController:__delete()
  11. end
  12. function PKStatusController:RegisterAllProtocals()
  13. self:RegisterProtocal(13012,"on13012")
  14. self:RegisterProtocal(12074,"on12074")
  15. end
  16. function PKStatusController:InitEvents()
  17. local function onChangePKStatusHandler(type)
  18. -- if SceneManager:getInstance():IsCanChangePKStatusScene() then
  19. self:SendFmtToGame(13012,"c",type)
  20. -- end
  21. end
  22. self.model:Bind(PKStatusModel.CHANGE_PK_STATUS, onChangePKStatusHandler)
  23. local function onOpenPKChooseView()
  24. self:ChangePKStatusVisible()
  25. end
  26. GlobalEventSystem:Bind(EventName.OPEN_PKSTATUS_CHOOSE_VIEW, onOpenPKChooseView)
  27. end
  28. function PKStatusController:ChangePKStatusVisible()
  29. if self.PKStatusMainUI == nil then
  30. self.PKStatusMainUI = PKStatusMainUI.New()
  31. end
  32. if self.PKStatusMainUI:HasOpen() then
  33. self.PKStatusMainUI:Close()
  34. else
  35. self.PKStatusMainUI:Open()
  36. end
  37. end
  38. function PKStatusController:on13012()
  39. local result, new_pk_status, cd_time = self:ReadFmt("ici")
  40. if result == 1 then
  41. -- RoleManager.Instance.mainRoleInfo:ChangeVar("peace_cd_time", cd_time)
  42. RoleManager.Instance.mainRoleInfo:ChangeVar("pk_status", new_pk_status, nil, true)
  43. else
  44. ErrorCodeShow(result)
  45. end
  46. end
  47. function PKStatusController:on12074()
  48. local target_type, role_id, new_pk_status = self:ReadFmt("clc")
  49. local roleVo = SceneManager.Instance:GetRoleVo(role_id)
  50. if roleVo then
  51. if role_id == RoleManager.Instance:GetMainRoleId() then
  52. else
  53. end
  54. roleVo:ChangeVar("pk_status", new_pk_status)
  55. end
  56. end