-- <* -- @Author: Saber -- @Description: 社团修改公告界面 -- *> GuildEditAnnounceView = GuildEditAnnounceView or BaseClass(BaseView) local GuildEditAnnounceView = GuildEditAnnounceView function GuildEditAnnounceView:__init() self.base_file = "guild" self.layout_file = "GuildEditAnnounceView" self.layer_name = "Activity" self.destroy_imm = true self.use_background = true self.blur_activity_bg = true self.use_show_anim = true self.use_hide_anim = true self.model = GuildModel:getInstance() -- 除以2是因为中文编码算2个字符,就直接按照全中文来,海外版本需要移除 self.send_limit = stringtotable(self.model:GetGuildKvByKey("announce_len").val)[2] / 2 self.load_callback = function () self:LoadSuccess() self:AddEvent() end self.open_callback = function ( ) self.model:Fire(GuildModel.REQUEST_CCMD_EVENT, 40019) --获取社团修改信息界面信息 self:UpdateView() self:UpdateBasicAnnounce() end self.switch_callback = function(index) self:SwitchTab(index) end self.destroy_callback = function ( ) self:DestroySuccess() end end function GuildEditAnnounceView:Open( ) --self.data = data BaseView.Open(self) end function GuildEditAnnounceView:LoadSuccess() local nodes = { "window:raw", "window/close:obj", "save_btn:obj", "cancel_btn:obj", "announce:tmpInput", "cur_text_num:tmp", "free_tips:tmp", "change_tips:tmp", } self:GetChildren(nodes) lua_resM:setOutsideRawImage(self, self.window_raw, GameResPath.GetViewBigBg("tips_comm_bg6")) end function GuildEditAnnounceView:AddEvent() local function click_event(target) if target == self.close_obj or target == self.cancel_btn_obj then self:Close() elseif target == self.save_btn_obj then self:OnClickSaveAnnounceBtn() end end AddClickEvent(self.close_obj, click_event, LuaSoundManager.SOUND_UI.NONE) AddClickEvent(self.cancel_btn_obj, click_event, LuaSoundManager.SOUND_UI.NONE) AddClickEvent(self.save_btn_obj, click_event, LuaSoundManager.SOUND_UI.NONE) local function update_view() self:UpdateView() end self:BindEvent(self.model, GuildModel.UPDATE_GUILD_ANNOUNCE_TIMES, update_view) self.announce_tmpInput.onValueChanged:AddListener(function() local len = utf8len(self.announce_tmpInput.text) if len > self.send_limit then self.announce_tmpInput.text = GetInputLimitResultStr(self.announce_tmpInput.text, self.send_limit) --减去多出来的字符 self.tip_time = self.tip_time or 0 if Status.NowTime-self.tip_time > 0.2 then Message.show(string.format("最多可输入%d个字符", self.send_limit)) self.tip_time = Status.NowTime self:SetFontNum(self.send_limit) end else self:SetFontNum(len) end end) end function GuildEditAnnounceView:UpdateView() local times_data = self.model:GetGuildAnnounceTimesData() self.change_tips_tmp.text = string.format("%s以上才可修改社团公告", ColorUtil.PURPLE_DARK, Trim(Config.Guildpos[GuildModel.GuildPosition.ViceLeader].name)) if times_data then self.free_tips_tmp.text = string.format("每天可免费修改%s次(%s/%s)", times_data.free_times, times_data.remain_times > 0 and ColorUtil.GREEN_DARK or ColorUtil.RED_DARK, times_data.remain_times, times_data.free_times) else self.free_tips_tmp.text = "" end end function GuildEditAnnounceView:UpdateBasicAnnounce( ) self.announce_tmpInput.text = self.model:GetGuildAnnounce() end function GuildEditAnnounceView:SetFontNum( num ) self.cur_text_num_tmp.text = string.format("字数:%s/%s", num < self.send_limit and ColorUtil.GREEN_DARK or ColorUtil.RED_DARK, num, self.send_limit) end function GuildEditAnnounceView:OnClickSaveAnnounceBtn( ) local _, title_filter = LanguageFilter.FilterMsg(self.announce_tmpInput.text) if title_filter == false then Message.show("社团公告有敏感词") return end if self.announce_tmpInput.text ~= "" then self.model:Fire(GuildModel.RequestSetAnnounceEvt, self.announce_tmpInput.text, 1) else Message.show("请输入公告~") end end function GuildEditAnnounceView:DestroySuccess( ) end