NickChangeView.lua 3.42 KB
local NickChangeView = dialog.uinode("ui/NickChangeLayer.csb",import(".BaseView"))

function NickChangeView:ctor()
    NickChangeView.super.ctor(self);
    
end

function NickChangeView:show()
    local scene = cc.Director:getInstance():getRunningScene()
    local inst = NickChangeView:create();
    scene:addChild(inst, dialog.ZORDER_APP);

    inst:setContentSize(cc.size(display.width,display.height));
    ccui.Helper:doLayout(inst);

    local panel = inst:getChildByName("panel");
    panel:setScale(0.5);
    local scaleTo = cc.ScaleTo:create(0.2,1);
    panel:runAction(scaleTo);

    inst.nick = UserModel.user_info.nick;
    inst.id1 = 0;
    inst.id2 = 0;
    inst.id3 = 0;
    panel:getChildByName("txt_nick"):setString(inst.nick);

    inst:init();
    return inst;
end

function NickChangeView:init()
    self.panel = self:getChildByName("panel");
    self.btn_close = self.panel:getChildByName("btn_close");
    self.btn_random = self.panel:getChildByName("btn_random");
    self.btn_ok = self.panel:getChildByName("btn_ok");

    self.btn_close.fn = handler(self,self.onCloseFun);
    self.btn_close:addTouchEventListener(function(ref,type) self:onButtonClick(ref,type, handler(self,self.onCloseFun))end);
    
    self.btn_random.fn = handler(self,self.onRandomFun);
    self.btn_random:addTouchEventListener(function(ref,type) self:onButtonClick(ref,type, handler(self,self.onRandomFun))end);

    self.btn_ok.fn = handler(self,self.onOkFun);
    self.btn_ok:addTouchEventListener(function(ref,type) self:onButtonClick(ref,type, handler(self,self.onOkFun))end);

    self.nodes[1] = {self.btn_close};
    self.nodes[2] = {self.btn_random};
    self.nodes[3] = {self.btn_ok};
    self.nodeIndex = 2;
    self:updateSelectedState();

    self:onUpdateItems();
    EventListener.addEventListener(self,EnumEvent.UPDATE_ITEMS,handler(self,self.onUpdateItems));
end

function NickChangeView:onUpdateItems(params)
    local cardNum = UserModel.getItemNum(100010);
    self.panel:getChildByName("txt_num"):setString(cardNum);
end

function NickChangeView:onCloseFun(ref)
    self:close();
end

function NickChangeView:onRandomFun(ref)
    self.nick,self.id1,self.id2,self.id3 = NickInfo.getRandomNick();
    self.panel:getChildByName("txt_nick"):setString(self.nick);
end

function NickChangeView:onOkFun(ref)
    local itemID = 100010;
    local cardNum = UserModel.getItemNum(itemID);
    local shopID = ItemInfo.getItemInfo(itemID).shopID;
    if cardNum == 0 then
        AppManager.show("ShopExchangeView",{shopID=shopID});
        return;
    end
    if self.id1 > 0 then
        self.onChangeResFun = handler(self,self.onChangeRes);
        cmsg.on("gateway_msg.change_nick_msg_res",self.onChangeResFun);
        SocketClient:getInstance():send("gateway_msg.change_nick_msg", 
        {
            id1 = self.id1,
            id2 = self.id2,
            id3 = self.id3,
        });
    else
        Alert.showOne(strings.msg_1008);
    end
end

function NickChangeView:onChangeRes(params)
    cmsg.off("gateway_msg.change_nick_msg_res",self.onChangeResFun);

    if params.data.res == EnumErrorCode.EC_SUCCESS then
        UserModel.user_info.nick = params.data.nick;
        EffectManager.showFntPop(strings.msg_1007);
        EventListener.dispatchEvent(EnumEvent.NICK_CHANGE_SUCCESS);
        self:close();
    else
        Alert.showOne(strings.msg_1006);
    end
end

--返回键处理函数
function NickChangeView:onKeypadBack()
    self:close();
end

return NickChangeView