|
|
- NewMainRoleHatredView = NewMainRoleHatredView or BaseClass(BaseView)
- local NewMainRoleHatredView = NewMainRoleHatredView
-
- function NewMainRoleHatredView:__init()
- self.base_file = "newMainRole"
- self.layout_file = "NewMainRoleHatredView"
- self.layer_name = "Activity"
- self.destroy_imm = true
- self.use_background = true
-
- self.is_set_zdepth = true
- self.blur_activity_bg = true
- self.hatred_item = nil -- 免罪券awardItem
- self.hatred_item_goodID = 102001 -- 免罪券道具id
- self.change_scene_close = true --是否切换场景时关闭(弹出界面使用)
- --self.append_to_ctl_queue = false --是否要添加进界面堆栈
- --self.need_show_money = false --是否要显示顶部的金钱栏
-
- self.model = NewMainRoleModel:getInstance()
-
- self.load_callback = function ()
- self:LoadSuccess()
- self:AddEvent()
- end
- self.open_callback = function ( )
- self:OpenSuccess()
- end
- self.destroy_callback = function ( )
- self:DestroySuccess()
- end
- end
-
- function NewMainRoleHatredView:Open( )
- --self.data = data
- BaseView.Open(self)
- end
-
- function NewMainRoleHatredView:LoadSuccess()
- local nodes = {
- "window:raw","window/closeBtn:obj", "window/windowTitleText:tmp", "confirmBtn:obj", "itemCon",
- "cur_hatred:tmp", "item_name:tmp", "item_num:tmp",
- "intro1:tmp", "intro2:tmp",
- }
- self:GetChildren(nodes)
- self.windowTitleText_tmp.text = "罪恶值"
- self.cur_hatred_tmp.text = "罪恶值:"
- lua_resM:setOutsideRawImage(self, self.window_raw, GameResPath.GetViewBigBg("tips_comm_bg6"), false)
- end
-
- function NewMainRoleHatredView:AddEvent()
- local function click_event(target)
- if target == self.closeBtn_obj then
- self:Close()
- elseif target == self.confirmBtn_obj then
- if RoleManager.Instance.mainRoleInfo.hatred <= 0 then
- Message.show("当前善恶值为0,无需减少")
- return
- end
- local type_id = self.hatred_item_goodID
- local goods_num = GoodsModel:getInstance():GetTypeGoodsNum(type_id)
- if goods_num >= 1 then
- GlobalEventSystem:Fire(EventName.REDUCE_ROLE_HATRED, 1)
- else
- -- 获取物品价格及类型
- local buy_price, _, price_type = GoodsModel:getInstance():GetGoodsPrice(type_id)
- -- 获取货币goodsid
- local price_id = WordManager:GetPriceTypeId(price_type)
- local goods_name = GoodsModel:getInstance():getGoodsName(type_id, true)
- local price_name = GoodsModel:getInstance():getGoodsName(price_id)
- local price_color = GoodsModel:getInstance():GetGoodsColor(price_id)
- local price_asset, price_icon = WordManager:GetCommonMoneyIcon(price_type)
- local ask_str1 = string.format("您的 %s 不足!", goods_name)
- local ask_str2 = string.format("<color=%s>%s</color> 补全物品?", price_color, buy_price)
- local function ok_callback()
- GlobalEventSystem:Fire(EventName.REDUCE_ROLE_HATRED, 1)
- end
- local function rechanger_callback()
- if price_type == 1 then
- local function ok()
- self:Close()
- end
- local qc_data = {
- close_callback = ok,
- }
- GlobalEventSystem:Fire(EventName.OPEN_RECHARGE_TIP_VIEW, true, qc_data)
- elseif price_type == 2 then
- Message.show("您的红钻不足")
- end
- end
- local data = {
- gold_ab_res = price_asset,
- gold_res = price_icon,
- price = buy_price,
- insufficientText = ask_str1,
- priceText = ask_str2,
- titleText = "购买免罪券",
- ok_callback = ok_callback,
- rechanger_callback = rechanger_callback,
- no_need_toggle = true,
- }
- GlobalEventSystem:Fire(EventName.OPEN_COM_TOGGLE_TIP_VIEW, data)
- end
- end
- end
- AddClickEvent(self.closeBtn_obj, click_event, LuaSoundManager.SOUND_UI.NONE)
- AddClickEvent(self.confirmBtn_obj, click_event)
-
- local function on_change_hatred()
- self:UpdateView()
- end
- self.on_change_hatred_id = RoleManager.Instance.mainRoleInfo:BindOne("hatred", on_change_hatred)
-
- --背包物品发生变动时刷新免罪券数据(特指购买)
- local function refresh_hatred_item()
- self:UpdateView()
- end
- self.refresh_hatred_item_id = GoodsModel:getInstance():Bind(GoodsModel.CHANGE_BAGLIST, refresh_hatred_item)
-
- local function OPEN_VIP_VIEW( )
- --vip界面打开了就关掉自己
- self:Close()
- end
- self:BindEvent(GlobalEventSystem, EventName.OPEN_VIP_VIEW, OPEN_VIP_VIEW)
- end
-
- function NewMainRoleHatredView:OpenSuccess()
- self:UpdateView()
- end
-
- function NewMainRoleHatredView:UpdateView()
- self.intro1_tmp.text = "在野外击杀其他玩家会增加您的<color=#f558ff>善恶值</color>"
- self.intro2_tmp.text = "使用<color=#f558ff>免罪券</color>可减少<color=#f558ff>10点</color>善恶值,每在线30分钟会减少<color=#f558ff>1点</color>善恶值"
- local role_hatred = RoleManager.Instance.mainRoleInfo.hatred
- local goods_effect = Config.Goodseffect[self.hatred_item_goodID].effect_list
- local cost = stringtotable(goods_effect)[1][2]
- local str_3 = HtmlColorTxt( string.format("(惩罚:罪恶值大于0时被其他玩家击杀将失去%s红钻)", cost ) , '#ff203a', 0.7)
- self.cur_hatred_tmp.text = "罪恶值:" .. HtmlColorTxt( role_hatred , '#fdffc2') .. str_3
-
- if not self.hatred_item then
- self.hatred_item = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem,self.itemCon)
- self.hatred_item:SetAnchoredPosition(0, 0)
- end
- self.hatred_item:SetOpenShowGetWay(true)
- self.hatred_item:SetData(self.hatred_item_goodID)
- self.hatred_item:SetItemSize(78, 78)
- local goods_num = GoodsModel:getInstance():GetTypeGoodsNum(self.hatred_item_goodID)
- local goods_name = GoodsModel:getInstance():getGoodsName(self.hatred_item_goodID, true)
- self.item_num_tmp.text = string.format("<color=%s>%s</color>/1", goods_num>0 and ColorUtil.GREEN or ColorUtil.RED, goods_num)
- self.item_name_tmp.text = goods_name
- end
-
- function NewMainRoleHatredView:DestroySuccess( )
- if self.hatred_item then
- UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, self.hatred_item)
- end
- self.hatred_item = nil
-
- if self.on_change_hatred_id then
- RoleManager.Instance.mainRoleInfo:UnBind(self.on_change_hatred_id)
- self.on_change_hatred_id = nil
- end
-
- if self.refresh_hatred_item_id then
- GoodsModel:getInstance():UnBind(self.refresh_hatred_item_id)
- self.refresh_hatred_item_id = nil
- end
- end
|