require("game.pkstatus.PKStatusModel") require("game.pkstatus.PKStatusMainUI") PKStatusController = PKStatusController or BaseClass(BaseController) function PKStatusController:__init() PKStatusController.Instance = self self.model = PKStatusModel:getInstance() self:RegisterAllProtocals() self:InitEvents() end function PKStatusController:__delete() end function PKStatusController:RegisterAllProtocals() self:RegisterProtocal(13012,"on13012") self:RegisterProtocal(12074,"on12074") end function PKStatusController:InitEvents() local function onChangePKStatusHandler(type) -- if SceneManager:getInstance():IsCanChangePKStatusScene() then self:SendFmtToGame(13012,"c",type) -- end end self.model:Bind(PKStatusModel.CHANGE_PK_STATUS, onChangePKStatusHandler) local function onOpenPKChooseView() self:ChangePKStatusVisible() end GlobalEventSystem:Bind(EventName.OPEN_PKSTATUS_CHOOSE_VIEW, onOpenPKChooseView) end function PKStatusController:ChangePKStatusVisible() if self.PKStatusMainUI == nil then self.PKStatusMainUI = PKStatusMainUI.New() end if self.PKStatusMainUI:HasOpen() then self.PKStatusMainUI:Close() else self.PKStatusMainUI:Open() end end function PKStatusController:on13012() local result, new_pk_status, cd_time = self:ReadFmt("ici") if result == 1 then -- RoleManager.Instance.mainRoleInfo:ChangeVar("peace_cd_time", cd_time) RoleManager.Instance.mainRoleInfo:ChangeVar("pk_status", new_pk_status, nil, true) else ErrorCodeShow(result) end end function PKStatusController:on12074() local target_type, role_id, new_pk_status = self:ReadFmt("clc") local roleVo = SceneManager.Instance:GetRoleVo(role_id) if roleVo then if role_id == RoleManager.Instance:GetMainRoleId() then else end roleVo:ChangeVar("pk_status", new_pk_status) end end