|
SupremeVipDiamondExchangeView = SupremeVipDiamondExchangeView or BaseClass(BaseItem)
|
|
local SupremeVipDiamondExchangeView = SupremeVipDiamondExchangeView
|
|
|
|
function SupremeVipDiamondExchangeView:__init()
|
|
self.base_file = "supremeVip"
|
|
self.layout_file = "SupremeVipDiamondExchangeView"
|
|
self.model = SupremeVipModel:getInstance()
|
|
|
|
self.mainVo = RoleManager.Instance.mainRoleInfo
|
|
|
|
self:Load()
|
|
end
|
|
|
|
function SupremeVipDiamondExchangeView:Load_callback()
|
|
self.nodes = {
|
|
"oneBtn:obj:img", "active_btn:obj", "des2Img:img:obj",
|
|
"tenBtn:obj:img",
|
|
"des1Img:img", --使用绑定的红钻……
|
|
"rightConBg:img", --底栏bg
|
|
"awardCon1", "awardCon2",
|
|
"moneyTxt2:tmp", "moneyTxt1:tmp", "desc:tmp:obj",
|
|
"leftTimes:tmp",
|
|
"exchangeBg:img",
|
|
"moneyIcon1",
|
|
"oneBtn/oneRed:obj",
|
|
}
|
|
self:GetChildren(self.nodes)
|
|
|
|
self.oneText = self:GetChild("oneBtn/Text"):GetComponent("TextMeshProUGUI")
|
|
self.tenText = self:GetChild("tenBtn/Text"):GetComponent("TextMeshProUGUI")
|
|
|
|
-- lua_resM:setOutsideImageSprite(self,self.des2Img_img,GameResPath.GetSupremeVipIcon("supremeVip_des_3_pointfilter"),false,nil)
|
|
lua_resM:setOutsideImageSprite(self,self.des1Img_img,GameResPath.GetSupremeVipIcon("supremeVip_des_8_pointfilter"),false,nil)
|
|
lua_resM:setOutsideImageSprite(self,self.rightConBg_img,GameResPath.GetSupremeVipIcon("supremeVip_right_bg_long"),false,nil)
|
|
lua_resM:setOutsideImageSprite(self,self.exchangeBg_img,GameResPath.GetSupremeVipIcon("supremeVip_right_exchange_bg"),false,nil)
|
|
|
|
self.desc_tmp.text = SupremeVipConst.ViewDesc[SupremeVipConst.RED_DOT_TYPE.DiamondExchange] or ""
|
|
self.award_item_1 = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem, self.awardCon1)
|
|
self.award_item_1:SetItemSize(78, 78)
|
|
self.award_item_1:SetIsAct(true)
|
|
self.award_item_1:SetData(100001)
|
|
|
|
|
|
self.award_item_2 = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem, self.awardCon2)
|
|
self.award_item_2:SetItemSize(78, 78)
|
|
self.award_item_2:SetIsAct(true)
|
|
|
|
-- self.award_item_2:SetData(100000)
|
|
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
|
|
function SupremeVipDiamondExchangeView:DoExchange(times)
|
|
self.model:Fire(SupremeVipConst.REQUEST_CCMD_EVENT,45103,2,0,times)
|
|
|
|
-- local jinLock_ratio,jin_ratio = self.model:GetDiamondExchangeRatio()--彩钻红钻兑换比例数
|
|
-- local cost_price = jinLock_ratio*times
|
|
-- local function ok_callback( ... )
|
|
-- self.model:Fire(SupremeVipConst.REQUEST_CCMD_EVENT,45103,2,0,times)
|
|
-- end
|
|
-- local function toggle_function( flag )
|
|
-- self.model._diamond_exchange_no_double_check = flag
|
|
-- end
|
|
-- local function use_function( toggle_tip_data,call_fun_sum )
|
|
-- if not self.model._diamond_exchange_no_double_check and cost_price ~= 0 then
|
|
-- GlobalEventSystem:Fire(EventName.OPEN_COM_TOGGLE_TIP_VIEW, toggle_tip_data)
|
|
-- else
|
|
-- call_fun_sum()
|
|
-- end
|
|
-- end
|
|
-- local buy_tip_data = {
|
|
-- gold_type = 2,--货币类型
|
|
-- cost_price = cost_price,--消耗金额
|
|
-- ok_callback = ok_callback,--成功
|
|
-- toggle_function = toggle_function,--多选
|
|
-- togglePriceStr = string.format("<#fdffc2>%s</color> 进行兑换",cost_price),--提示语
|
|
-- use_function = use_function,--最终调用
|
|
-- diamond_nonuse = true,
|
|
-- }
|
|
-- CustomActivityModel:getInstance():BuyTips(buy_tip_data)
|
|
end
|
|
|
|
function SupremeVipDiamondExchangeView:AddEvents( )
|
|
local on_click = function ( click_obj )
|
|
if self.oneBtn_obj == click_obj then -- 单次
|
|
local is_simple_svip = self.model:IsMomentSupremeVip()
|
|
if not is_simple_svip then
|
|
if self.rest_counts >= 1 then
|
|
self:DoExchange(1)
|
|
else
|
|
Message.show("兑换次数不足","fault")
|
|
end
|
|
else--一阶贵族要给一次体验机会
|
|
if self.rest_counts >= 1 then
|
|
self:DoExchange(1)
|
|
else
|
|
Alert.show("成为<#04bd27>二阶贵族</color>,享<#ff6519>点金手</color>特权,红钻免费兑换彩钻", Alert.Type.Two, function()
|
|
self.model:Fire(SupremeVipConst.OPEN_SUPREME_VIP_BUY_VIEW)
|
|
end, nil, "前往升级", "取消")
|
|
end
|
|
end
|
|
elseif self.tenBtn_obj == click_obj then -- 十次
|
|
local have_supreme_vip_right = self.model:HaveSupremeVipRight(2)
|
|
if have_supreme_vip_right then
|
|
if self.rest_counts >= 10 then
|
|
self:DoExchange(10)
|
|
else
|
|
Message.show("兑换次数不足","fault")
|
|
end
|
|
else
|
|
-- Message.show("成为二阶贵族后可激活新特权","fault")
|
|
Alert.show("成为<#04bd27>二阶贵族</color>,享<#ff6519>点金手</color>特权,红钻免费兑换彩钻", Alert.Type.Two, function()
|
|
self.model:Fire(SupremeVipConst.OPEN_SUPREME_VIP_BUY_VIEW)
|
|
end, nil, "前往升级", "取消")
|
|
end
|
|
elseif self.active_btn_obj == click_obj then -- 激活永久特权
|
|
self.model:Fire(SupremeVipConst.OPEN_SUPREME_VIP_BUY_VIEW)
|
|
end
|
|
end
|
|
AddClickEvent(self.oneBtn_obj, on_click)
|
|
AddClickEvent(self.tenBtn_obj, on_click)
|
|
AddClickEvent(self.active_btn_obj, on_click,1)
|
|
|
|
|
|
local function onChangeJinLockHandler()
|
|
if not self.is_loaded or self._use_delete_method then return end
|
|
self:UpdateDiamondNum()
|
|
end
|
|
self.change_lockJin_id = self.mainVo:BindOne("jinLock",onChangeJinLockHandler)
|
|
|
|
--刷新兑换剩余次数
|
|
local function update_exchange_rest_counts()
|
|
if not self.is_loaded or self._use_delete_method then return end
|
|
self:UpdateExchangeRestCounts()
|
|
end
|
|
self:BindEvent(self.model, SupremeVipConst.REFRESH_EXCHANGE_REST_COUNTS,update_exchange_rest_counts)
|
|
|
|
--刷新红点
|
|
local function on_update_red(tab_id)
|
|
if not self.is_loaded or self._use_delete_method then return end
|
|
if tab_id == SupremeVipConst.RED_DOT_TYPE.DiamondExchange then
|
|
self:UpdateRedDot()
|
|
end
|
|
end
|
|
self:BindEvent(self.model, SupremeVipConst.ANS_UPDATE_RED_DOT,on_update_red)
|
|
end
|
|
|
|
function SupremeVipDiamondExchangeView:UpdateRedDot( )
|
|
local sup_vip_type = RoleManager.Instance.mainRoleInfo.sup_vip_type
|
|
if sup_vip_type == 1 then--体验贵族 一次兑换有体验次数时给红点
|
|
local rest_counts_red = self.model:GetDiamondExchangeRed()
|
|
if rest_counts_red then
|
|
self.oneRed_obj:SetActive(true)
|
|
else
|
|
self.oneRed_obj:SetActive(false)
|
|
end
|
|
else
|
|
self.oneRed_obj:SetActive(false)
|
|
end
|
|
end
|
|
|
|
function SupremeVipDiamondExchangeView:UpdateView( )
|
|
self:UpdateExchangeRestCounts()
|
|
self:UpdateDiamondNum()
|
|
self:UpdateRedDot()
|
|
end
|
|
|
|
--刷新剩余兑换次数以及相应的按钮样式
|
|
function SupremeVipDiamondExchangeView:UpdateExchangeRestCounts( )
|
|
-- do return end
|
|
self.rest_counts = self.model:GetExchangeRestCount(SupremeVipConst.ExchangeType.Diamond)
|
|
-- self.leftTimes_tmp.text = self.rest_counts.."次"
|
|
local sup_vip_type = RoleManager.Instance.mainRoleInfo.sup_vip_type
|
|
|
|
-- SetImageGray(self.oneBtn_img,self.rest_counts<1 or sup_vip_type < 2)
|
|
-- SetImageGray(self.tenBtn_img,self.rest_counts<10 or sup_vip_type < 2)
|
|
-- SetTMPSharedMaterial(self.takeBtn_txt, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkOrangeBtn)
|
|
-- SetTMPSharedMaterial(self.takeBtn_txt, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkGrayBtn)
|
|
|
|
|
|
if sup_vip_type == 1 then--一阶贵族按钮常亮,引导玩家去点
|
|
SetImageGray(self.oneBtn_img, false)
|
|
SetImageGray(self.tenBtn_img, false)
|
|
SetTMPSharedMaterial(self.oneText, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkOrangeBtn)
|
|
SetTMPSharedMaterial(self.tenText, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkOrangeBtn)
|
|
elseif sup_vip_type == 2 then
|
|
if self.rest_counts < 1 then
|
|
SetImageGray(self.oneBtn_img, true)
|
|
SetImageGray(self.tenBtn_img, true)
|
|
SetTMPSharedMaterial(self.oneText, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkGrayBtn)
|
|
SetTMPSharedMaterial(self.tenText, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkGrayBtn)
|
|
elseif self.rest_counts >= 1 and self.rest_counts < 10 then
|
|
SetImageGray(self.oneBtn_img, false)
|
|
SetImageGray(self.tenBtn_img, true)
|
|
SetTMPSharedMaterial(self.oneText, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkOrangeBtn)
|
|
SetTMPSharedMaterial(self.tenText, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkGrayBtn)
|
|
else
|
|
SetImageGray(self.oneBtn_img, false)
|
|
SetImageGray(self.tenBtn_img, false)
|
|
SetTMPSharedMaterial(self.oneText, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkOrangeBtn)
|
|
SetTMPSharedMaterial(self.tenText, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkOrangeBtn)
|
|
end
|
|
else
|
|
SetImageGray(self.oneBtn_img, true)
|
|
SetImageGray(self.tenBtn_img, true)
|
|
SetTMPSharedMaterial(self.oneText, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkGrayBtn)
|
|
SetTMPSharedMaterial(self.tenText, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkGrayBtn)
|
|
end
|
|
|
|
if sup_vip_type == 2 then
|
|
local num_color = self.rest_counts == 0 and ColorUtil.RED_DARK or ColorUtil.GREEN_TIPS
|
|
self.leftTimes_tmp.text = string.format("今日剩余:<%s>%s</color>", num_color, self.rest_counts)
|
|
else
|
|
self.leftTimes_tmp.text = ""
|
|
end
|
|
end
|
|
|
|
--刷新货币数量显示
|
|
function SupremeVipDiamondExchangeView:UpdateDiamondNum( )
|
|
local jinLock_num = WordManager:ConvertNum(self.mainVo.jinLock)--红钻数量
|
|
local jinLock_ratio,jin_ratio = self.model:GetDiamondExchangeRatio()--彩钻红钻兑换比例数
|
|
|
|
local sup_vip_type = RoleManager.Instance.mainRoleInfo.sup_vip_type
|
|
if sup_vip_type == 2 then
|
|
self.moneyTxt1_tmp.text = jinLock_num.."/"..jinLock_ratio
|
|
else
|
|
self.moneyTxt1_tmp.text = jinLock_ratio
|
|
end
|
|
SetAnchoredPositionX(self.moneyIcon1,-49-self.moneyTxt1_tmp.preferredWidth/2-18)
|
|
|
|
self.moneyTxt2_tmp.text = jin_ratio
|
|
-- self.award_item_2:SetData(100000,jin_ratio)
|
|
self.award_item_2:SetData(100000)
|
|
end
|
|
|
|
function SupremeVipDiamondExchangeView:SetData( data )
|
|
self.data = data
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function SupremeVipDiamondExchangeView:__delete( )
|
|
if self.award_item_1 then
|
|
UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, self.award_item_1)
|
|
self.award_item_1 = nil
|
|
end
|
|
|
|
if self.award_item_2 then
|
|
UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, self.award_item_2)
|
|
self.award_item_2 = nil
|
|
end
|
|
|
|
if self.change_lockJin_id then
|
|
self.mainVo:UnBind(self.change_lockJin_id)
|
|
self.change_lockJin_id = nil
|
|
end
|
|
end
|