|
- local MineBag = class("MineBag", cc.UIView)
-
- local BAG_TYPE = 4
-
- BAG_TYPE_NAME = {
- [81] = PLN.CLUB_NAME .. "背景",
- [82] = "大厅背景",
- [83] = "聊天气泡",
- [84] = "语音气泡",
- }
-
-
- function MineBag:ctor(selectType)
- MineBag.super.ctor(self);
-
- local ui = loadUI("res/ui/ui_dating/ui_minebag.ui")
-
- self.ui = ui
-
- self.selectType = selectType or STORE_TYPE.CHANGE_QYQBG
-
- self.proplist = nil
-
- self.pid = nil
-
- self.optype = 1
-
- self:addChild(ui)
-
- self.First = true
-
- if app.serverConfigs.clientConfig and app.serverConfigs.clientConfig.prop then
- self.proplist = app.serverConfigs.clientConfig.prop
- else
- app.serverConfigs:requestClientConfig(function()
- self.proplist = app.serverConfigs.clientConfig.prop
- end)
- end
-
-
- end
-
- function MineBag:onEnter()
- MineBag.super.onEnter(self);
-
- self.ui.Items.Layout_goods_items:setVisible(false)
-
- self.ui.Items.Text_noContent:setVisible(false)
-
- self.ui.Items.ImageView_noGood:setVisible(false)
-
- self.ui.Items.Button_Close:registerClick(handler(self, self.onClickClose))
-
- self.ui.Items.Button_goShop:setVisible(false)
- self.ui.Items.Button_goShop:registerClick(handler(self, self.onClickGoToShop))
- self.ui.Items.Button_Store:registerClick(handler(self, self.onClickGoToShop))
-
- self.ui.Items.ScrollView_Center:setVisible(false)
- self.ui.Items.ScrollView_Center:hideAllBar()
- self.ui.Items.ScrollView_left:hideAllBar()
-
- self.radioManager = import("luaScript.Tools.RadioManager"):new();
-
- self.radioManager:setColorSwitch(false)
-
- self.ui.Items.ScrollView_left:getInnerContainer():setAutoSize(true)
- self.ui.Items.ScrollView_left:removeAllChildren()
-
- for k,v in pairsByKeys(BAG_TYPE_NAME) do
- local ui = self.ui.Items.CheckBox_left_item:getCopied()
- ui.Items = getUIItems(ui)
-
- BAG_TYPE_NAME[k] = string.gsub(BAG_TYPE_NAME[k],"茶馆", "海选赛")
-
- ui.Items.Text_Nor:setText(BAG_TYPE_NAME[k])
- ui.Items.Text_Sel:setText(BAG_TYPE_NAME[k])
- ui.Items.Text_Sel:setVisible(false)
- self.ui.Items.ScrollView_left:addChild(ui)
- self.radioManager:addItem(ui, k)
- end
-
- self.radioManager:setCallback(handler(self, self.onClickItem))
- self.radioManager:setDefault(self.selectType)
-
- self.ui.Items.ScrollView_left:hideAllBar()
- self.ui.Items.ScrollView_left:jumpToTopOnSizeChanged()
-
- app.php:requestGetBagInfo()
-
- self:bindEvent(app , "onGetBagInfoResponse" , handler(self , self.updateView));
- --操作成功
- self:bindEvent(app , "onBagOperateResponse" , handler(self , self.onBagOperateResponse));
-
- self:bindEvent(app.phpShop , "exchangeCoinSuccess" , handler(self , self.duihuanShop));
-
- if app.php.mypropdata then
- for k,v in pairs(app.php.mypropdata) do
- if v.prop_id and v.prop_id >= 200 and v.prop_id < 300 then
- self.pid = v.prop_id
- end
- end
- end
-
- self:updateView()
-
- end
-
- function MineBag:onBagOperateResponse()
- app.php:requestGetBagInfo() --刷新背包数据
- if self.optype == 1 then
- showTooltip("装扮成功")
- else
- showTooltip("卸下成功")
- end
- end
-
- function MineBag:duihuanShop()
- app.php:requestGetBagInfo() --刷新背包数据
- end
-
- function MineBag:onClickItem(value,checkNode)
-
- if not self.First then
- playBtnEffect()
- end
-
- self.First = false
-
- if self.selectItem and not tolua.isnull(self.selectItem) then
- -- playBtnEffect()
- self.selectItem.Items.Text_Nor:setVisible(true)
- self.selectItem.Items.Text_Sel:setVisible(false)
- end
-
- self.selectItem = checkNode
-
- if self.selectItem then
- self.selectItem.Items.Text_Nor:setVisible(false)
- self.selectItem.Items.Text_Sel:setVisible(true)
- end
-
- if self.selectType ~= value then
- self.selectType = value
- self:updateView()
- end
-
- end
-
- function MineBag:updateView()
-
- local uiScrollView = self.ui.Items.ScrollView_Center;
- uiScrollView:hideAllBar();
- uiScrollView:removeAllChildren()
- uiScrollView:getInnerContainer():setAutoSize(false)
-
- if self.selectType == STORE_TYPE.CHANGE_QYQBG then
- self.ui.Items.Text:setVisible(true)
- else
- self.ui.Items.Text:setVisible(false)
- end
-
- self:onDownLoadImageByType(self.selectType)
-
- if not app.php.baginfodata or not self.proplist then
- return
- end
-
- local baginfo = {};
-
- for k,v in pairs(app.php.baginfodata) do
- if v.prop_type == self.selectType then
- table.insert(baginfo,v)
- end
- end
-
- self.ui.Items.Text_noContent:setVisible(false)
- self.ui.Items.ImageView_noGood:setVisible(false)
- self.ui.Items.Button_goShop:setVisible(false)
-
- if not baginfo or table.nums(baginfo) <= 0 then
- self.ui.Items.Text_noContent:setVisible(true)
- self.ui.Items.ImageView_noGood:setVisible(true)
- self.ui.Items.Button_goShop:setVisible(true)
- return
- end
-
- self.ui.Items.Layout_goods_items:setVisible(true)
- self.ui.Items.ScrollView_Center:setVisible(true)
-
-
- for i = 1, #baginfo do
- local item = self:createItem(baginfo[i])
- uiScrollView:addChild(item);
- end
-
- uiScrollView:jumpToTopOnSizeChanged()
-
- end
-
- function MineBag:createItem(bagdata)
- local uiTemplate = self.ui.Items.Layout_goods_items
- local uiItem = uiTemplate:getCopied()
- uiItem.Items = getUIItems(uiItem)
-
- local propdata = self.proplist[tostring(bagdata.prop_id)]
-
- local endtime = bagdata.endtime
- local difftime = endtime - os.time()
- local str = string.format("%d天%.2d时%.2d分", math.floor(difftime/(60*60*24)), math.floor((difftime/(60*60))%24),math.floor((difftime/60)%60))
- uiItem.Items.Text_time_1:setText(str)
-
- local function onUpdateImage(event)
- if tolua.isnull(uiItem) then
- return
- end
- local rechargeId = bagdata.prop_id
- if not event or event.id ~= rechargeId then
- return
- end
- uiItem.Items.ImageView_goods_icon:setVisible(false)
- local rechargeConfig = bagdata
- if not rechargeConfig then
- return
- end
-
- local iconUrl = convertIconUrl(propdata.thumb)
- local iconFile = getImageNameFromUrl(iconUrl)
- local texture = loadTextureFromFile(iconFile)
- if texture then
- local w = texture:getWidth();
- local sz = uiItem.Items.ImageView_goods_icon:getContentSize()
-
- uiItem.Items.ImageView_goods_icon:setVisible(true)
- uiItem.Items.ImageView_goods_icon:setTexture2(texture);
- end
- end
-
- -- 监听下载事件,本充值项的图片下载成功时更新图片
- uiItem:bindEvent(app, "downloadImageSuccessed", onUpdateImage);
-
- onUpdateImage({id = bagdata.prop_id});
-
- uiItem.Items.Text_item_title:setText(tostring(propdata.name))
-
- uiItem.Items.Button_xiexia:registerClick(function ()
- playBtnEffect()
- if self.selectType == STORE_TYPE.CHANGE_QYQBG then
- showConfirmDialog(string.format("请在%s【设置】-【%s背景】中使用。", PLN.CLUB_NAME, PLN.CLUB_NAME))
- else
- self.optype = 2
- app.php:requestBagOperate(bagdata.prop_id,2)
- uiItem.Items.Button_shiyong:setVisible(true)
- uiItem.Items.Button_xiexia:setVisible(false)
- end
- end)
-
- uiItem.Items.Button_shiyong:registerClick(function ()
- playBtnEffect()
- if self.selectType == STORE_TYPE.CHANGE_QYQBG then
- showConfirmDialog(string.format("请在%s【设置】-【%s背景】中使用。", PLN.CLUB_NAME, PLN.CLUB_NAME))
- else
- self.optype = 1
- app.php:requestBagOperate(bagdata.prop_id,1)
- uiItem.Items.Button_shiyong:setVisible(false)
- uiItem.Items.Button_xiexia:setVisible(true)
- end
- end)
-
- uiItem.Items.Button_xufei:registerClick(function()
- playBtnEffect()
- local view = import("luaScript.Views.Recharge.StoreDuiHuanView"):new(self.selectType,bagdata.prop_id,1);
- view:setAnchorPoint(cc.p(0.5, 0.5))
- app:showWaitDialog(view)
- end)
-
- if table.nums(bagdata.usejson) > 0 then
- uiItem.Items.Button_xiexia:setVisible(true)
- uiItem.Items.Button_shiyong:setVisible(false)
- uiItem.Items.ImageView_Usering:setVisible(true)
- else
- uiItem.Items.Button_xiexia:setVisible(false)
- uiItem.Items.Button_shiyong:setVisible(true)
- uiItem.Items.ImageView_Usering:setVisible(false)
- end
-
- return uiItem
-
- end
-
- -- 关闭设置界面
- function MineBag:onClickClose()
- playBtnCloseEffect()
- self:removeFromParent()
- end
-
- --去商城
- function MineBag:onClickGoToShop()
- playBtnEffect()
-
- local view = import("luaScript.Views.Main.RechargeView"):new(self.selectType,self.pid)
- view:setAnchorPoint(cc.p(0.5,0.5))
- app:showWaitDialog(view)
- self:removeFromParent()
- end
-
- --点击某个类型才下载某个类型的图片
- function MineBag:onDownLoadImageByType(selecttype)
- if not app.php.baginfodata or not self.proplist then
- return
- end
- for k,v in pairs(app.php.baginfodata) do
- if tonumber(selecttype) == v.prop_type then
- local prop = self.proplist[k]
- if (prop.thumb and prop.thumb ~= "") then
- local fileName = getImageNameFromUrl(prop.thumb)
- getImageFromUrlWithTime(prop.thumb, fileName, nil,function()
- -- 通知下载完成
- app:dispatchEvent({name = "downloadImageSuccessed", id = v.prop_id});
- end)
- end
- end
- end
- end
-
-
- return MineBag;
|