-- 兌換界面 local ExchangeView = class("ExchangeView", cc.UIView) function ExchangeView:ctor() ExchangeView.super.ctor(self) end function ExchangeView:onEnter() ExchangeView.super.onEnter(self) self.ui = loadUI("res/ui/ui_dating/ui_duihuan.ui") self:addChild(self.ui) self.ui.Items.Button_Close:registerClick(handler(self, self.onClickClose)) self.ui.Items.Text_zuanshiNum:bind(app.user.loginInfo, "curCardNum", function() self.ui.Items.Text_zuanshiNum:setString(tostring(app.user.loginInfo.curCardNum)) end ) --[[ self.ui.Items.JingBiNum:bind(app.user.loginInfo, "curJingbiNum", function() local num = tonumber(app.user.loginInfo.curJingbiNum) or 0 local str if num > 1000000000 then str = tostring(math.floor(num / 10000000) / 10).."亿" elseif num > 100000 then str = tostring(math.floor(num / 1000) / 10).."万" else str = tostring(num) end self.ui.Items.JingBiNum:setString(str) end)--]] self.data = app.php.shopData if not self.data then showTooltip("金币商城数据拉取失败,请关掉重试") return end local dataMap = {} for _, v in pairs(self.data) do local t = {} t.id = v.id t.name = v.name t.price = v.price t.imageName = v.imageName t.order = v.order t.number = v.number table.insert(dataMap, t) end table.sort(dataMap, function(list1, list2) if list1.order < list2.order then return true end end) self.ui.Items.ScrollView:getInnerContainer():setAutoSize(true) for k, v in ipairs(dataMap) do self:addExchangeItem(k, v) end self.ui.Items.ScrollView:jumpToTopOnSizeChanged() self.ui.Items.ScrollView:getVBar():setVisible(false) end function ExchangeView:addExchangeItem(k, data) local ui = loadUI("res/ui/ui_dating/ui_duihuan_tiao.ui") self.ui.Items.ScrollView:addChild(ui) local function nameToFNT(num) log(num) local str, sstr if num >= 10000 and num % 1000 == 0 then str = tostring(num / 10000) .. "W" else str = tostring(num) .. "J" end return str end ui.Items.ExchangeName:setText(nameToFNT( tonumber(data.number) or 0 ) ) ui.Items.ExchangeNum:setText(data.price) ui.Items.ExchangeBtn:registerClick(function() local text = string.format("您即将用%d张房卡兑换%d金币,是否确认兑换?", tonumber(data.price), tonumber(data.number)); function onOk() app.php:buyshop(data.id) self:removeFromParent() end function onCancel() self:removeFromParent() end showConfirmDialog(text, onOk, onCancel); end) if data.imageName then local imageFullPath = cc.FileUtils:getInstance():getWritablePath()..data.imageName local imageData = cc.FileSystem:readData(imageFullPath); local image = cc.Image:createWithDataLua(imageData, string.len(imageData)); if not tolua.isnull(image) then local w, h = image:getWidth(), image:getHeight() local texture = cc.Texture:createWithImage(image) local s = ui.Items.ImageIcon:getContentSize() if not tolua.isnull(texture) then ui.Items.ImageIcon:setTexture(texture) ui.Items.ImageIcon:setScale(w / s.width, h/ s.height) end end end end -- 关闭响应函数 function ExchangeView:onClickClose() self:playBtnCloseEffect() self:removeFromParent() end return ExchangeView