123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- ---@class KLChangeAttrSchemePanel:UIKmlLuaPanelBase
- ---@field view KLChangeAttrSchemePanelView
- local KLChangeAttrSchemePanel = class(UIKmlLuaPanelBase)
- local this =KLChangeAttrSchemePanel
- ---创建时调用一次
- function this:Init()
- self.isShow = false
- end
- ---注册UI事件和服务器消息
- function this:RegistEvents()
- GUI:AddOnClickEvent(self.view.closeBtn, self, self.CloseSelf)
- GUI:AddOnClickEvent(self.view.edit_btn, self, self.edit_btn)
- GUI:AddOnClickEvent(self.view.btn_first_scheme, self, self.btn_first_scheme)
- GUI:AddOnClickEvent(self.view.btn_second_scheme, self, self.btn_second_scheme)
- GUI:AddOnClickEvent(self.view.btn_choice_scheme_show, self, self.btn_choice_scheme_show)
- GUI:AddOnClickEvent(self.view.btn_exchange_point, self, self.btn_exchange_point)
- GUI:AddOnClickEvent(self.view.edit_CloseBtn, self, self.edit_CloseBtn)
- GUI:AddOnClickEvent(self.view.edit_Cancel, self, self.edit_CloseBtn)
- GUI:AddOnClickEvent(self.view.edit_Enter, self, self.edit_Enter)
- end
- ---创建或者刷新界面数据时调用
- function this:Refresh()
- self.firstName = "加点方案1"
- self.secondName = "加点方案2"
- if PrivilegeCardManager.freeFirstSwitchInfo then
- if PrivilegeCardManager.freeFirstSwitchInfo.name then
- self.firstName = PrivilegeCardManager.freeFirstSwitchInfo.name
- end
- end
- if PrivilegeCardManager.freeSecondSwitchInfo then
- if PrivilegeCardManager.freeSecondSwitchInfo.name then
- self.secondName = PrivilegeCardManager.freeSecondSwitchInfo.name
- end
- end
- GUI:Button_setTitleText(self.view.btn_first_scheme, self.firstName)
- GUI:Button_setTitleText(self.view.btn_second_scheme, self.secondName)
- self.attrType = PrivilegeCardManager.currentAttrType
- if self.attrType == 1 then
- GUI:Text_setString(self.view.name_input, self.firstName)
- else
- GUI:Text_setString(self.view.name_input, self.secondName)
- end
- end
- function this:edit_btn()
- if self.isShow then
- self:btn_choice_scheme_show()
- end
- GUI:Text_setString(self.view.attr_Name_Input, "")
- GUI:setVisible(self.view.edit_panel, true)
- end
- function this:btn_choice_scheme_show()
- if self.isShow then
- GUI:setVisible(self.view.layout_scheme, false)
- else
- GUI:setVisible(self.view.layout_scheme, true)
- if self.attrType == 1 then
- GUI:Button_loadTextureNormal(self.view.btn_first_scheme,"bg_holidayDraw","Atlas/UITeamMainInfoPanel_Out.spriteatlas")
- GUI:Button_loadTextureNormal(self.view.btn_second_scheme,"img_mainRBbg","Atlas/UITeamMainInfoPanel_Out.spriteatlas")
- else
- GUI:Button_loadTextureNormal(self.view.btn_first_scheme,"img_mainRBbg","Atlas/UITeamMainInfoPanel_Out.spriteatlas")
- GUI:Button_loadTextureNormal(self.view.btn_second_scheme,"bg_holidayDraw","Atlas/UITeamMainInfoPanel_Out.spriteatlas")
- end
- end
- self.isShow = not self.isShow
- end
- function this:btn_first_scheme()
- GUI:Text_setString(self.view.name_input, self.firstName)
- self:btn_choice_scheme_show()
- self.attrType = 1
- end
- function this:btn_second_scheme()
- GUI:Text_setString(self.view.name_input, self.secondName)
- self:btn_choice_scheme_show()
- self.attrType = 2
- end
- function this:btn_exchange_point()
- if self.attrType ~= PrivilegeCardManager.currentAttrType then
- SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_CHANGE_ROLE_ATTR_POINT_PROGRAMME, self.attrType)
- PrivilegeCardManager.attrNeedRefresh = true
- end
- self:CloseSelf()
- end
- function this:edit_Enter()
- local textName = GUI:GetInputText(self.view.attr_Name_Input)
- if string.isNullOrEmpty(textName) then
- SL:TipMessage( SL:GetConfig('cfg_string',275).text, 1, NoticeType.NoticeMid )--"名称不能为空",
- elseif string.find(textName, "%s") ~= nil then
- SL:TipMessage( SL:GetConfig('cfg_string',276).text,1, NoticeType.NoticeMid )--"名称中不能包含空格",
- elseif self:GetStrLen(textName) >= 10 then
- SL:TipMessage( SL:GetConfig('cfg_string',277).text,1, NoticeType.NoticeMid )--"名称过长",
- else
- GUI:SetActive(self.view.edit_panel, false)
- if self.attrType == 1 then
- self.firstName = textName
- GUI:Button_setTitleText(self.view.btn_first_scheme, self.firstName)
- else
- self.secondName = textName
- GUI:Button_setTitleText(self.view.btn_second_scheme, self.secondName)
- end
- GUI:Text_setString(self.view.name_input, textName)
- PrivilegeCardManager.SendMessageSetFreeAttrInfo(self.attrType, nil, textName)
- end
- end
- function this:edit_CloseBtn()
- GUI:setVisible(self.view.edit_panel, false)
- end
- function this:CloseSelf()
- GUI:UIPanel_Close(self.filePath)
- end
- function this:Close()
- end
- function this:GetStrLen(inputstr)
- if not inputstr or type(inputstr) ~= "string" or #inputstr <= 0 then
- return nil
- end
- local length = 0 -- 字符的个数
- local i = 1
- while true do
- local lengthCount = 1
- local curByte = string.byte(inputstr, i)
- local byteCount = 1
- if curByte > 239 then
- byteCount = 4 -- 4字节字符
- lengthCount = 2
- elseif curByte > 223 then
- lengthCount = 2
- byteCount = 3 -- 汉字
- elseif curByte > 128 then
- byteCount = 2 -- 双字节字符
- else
- byteCount = 1 -- 单字节字符
- end
- i = i + byteCount
- length = length + lengthCount
- if i > #inputstr then
- break
- end
- end
- return length
- end
- return this
|