BagMainView = BagMainView or BaseClass(BaseView)
|
|
|
|
BagMainView.Index2Name = {
|
|
[1] = {id = 1, name = "背包", abName = "bag_asset", light_res = "bag_ui_tab_1_1", dark_res = "bag_ui_tab_1_2", view = "BagView",open_lv = 1},
|
|
[2] = {id = 2, name = "仓库", abName = "bag_asset", light_res = "bag_ui_tab_2_1", dark_res = "bag_ui_tab_2_2", view = "DepotView",open_lv = 1},
|
|
[3] = {id = 3, name = "吞噬", abName = "bag_asset", light_res = "bag_ui_tab_3_1", dark_res = "bag_ui_tab_3_2", view = "SwallowView",open_lv = GetModuleOpenLevel(150,4)},
|
|
}
|
|
|
|
function BagMainView:__init()
|
|
self.base_file = "bag"
|
|
self.layout_file = "BagMainView"
|
|
self.layer_name = "UI" --Main UI Top Active
|
|
self.destroy_imm = true
|
|
|
|
self.append_to_ctl_queue = true
|
|
self.change_scene_close = true
|
|
self.close_fog = true
|
|
self.mainVo = RoleManager.Instance.mainRoleInfo
|
|
self.model = GoodsModel:getInstance()
|
|
self.current_index = false
|
|
self.hide_maincancas = true
|
|
self.use_background = G_USING_BG
|
|
self.model_activity_bg = true
|
|
self.model_activity_bg_pos = Vector2(-132,52)
|
|
self.is_trigger_guide = false
|
|
|
|
self:AddPreLoadList("bag", {"BagItem,EquipItem"})
|
|
|
|
self.bag_view = false
|
|
self.depotView = false
|
|
|
|
self.tab_name_list = {}
|
|
local playerLv = RoleManager:getInstance():GetMainRoleVo().level
|
|
for i, v in ipairs(BagMainView.Index2Name) do
|
|
if v.open_lv <= playerLv then
|
|
table.insert(self.tab_name_list, v)
|
|
end
|
|
end
|
|
self.load_callback = function()
|
|
self:LoadSuccess()
|
|
self:InitEvent()
|
|
end
|
|
|
|
self.open_callback = function()
|
|
self:SeletedTabbar(self.current_index or 1, true)
|
|
self:ShowTabRedPointState()
|
|
end
|
|
self.close_callback = function()
|
|
|
|
end
|
|
|
|
self.destroy_callback = function()
|
|
self:Remove()
|
|
end
|
|
end
|
|
|
|
function BagMainView:GetRealIndex( index )
|
|
index = index or 1
|
|
for k,v in pairs(self.tab_name_list) do
|
|
if v.id == index then
|
|
index = k
|
|
end
|
|
end
|
|
return index
|
|
end
|
|
|
|
function BagMainView:Open(index)
|
|
self.current_index = self:GetRealIndex(index)
|
|
BaseView.Open(self)
|
|
end
|
|
|
|
function BagMainView:ReOpen(index)
|
|
self.current_index = self:GetRealIndex(index)
|
|
self:SeletedTabbar(self.current_index or 1, true)end
|
|
|
|
function BagMainView:LoadSuccess()
|
|
self.winCon = self:GetChild("winCon")
|
|
local select_callback = function(index)
|
|
self:SeletedTabbar(index)
|
|
end
|
|
|
|
local closeWin_callback = function()
|
|
self:Close()
|
|
end
|
|
self.tabWindowComponent = UITabWindow.New(self.transform,self.tab_name_list,select_callback,closeWin_callback,self.background_wnd,self.winCon, UITabWindow.SizeLarge, false,nil,true)
|
|
--self.tabWindowComponent:SetBackgroundRes("default_bg_2")
|
|
self.tabWindowComponent:SetTitleText("背包")
|
|
self.tabWindowComponent:SetUIBack({target = self, bg1 = GameResPath.GetViewBigBg("default_bg_2")})
|
|
self:AddToStageHandler()
|
|
end
|
|
|
|
function BagMainView:InitEvent()
|
|
local function on_ans_update_red_dot()
|
|
self:ShowTabRedPointState()
|
|
end
|
|
-- self:BindEvent(BagModel.Instance, BagModel.ANS_UPDATE_EQUIP_RED, on_ans_update_red_dot)
|
|
self:BindEvent(BagModel.Instance, BagModel.ANS_UPDATE_CURRENCY_EXCHANGE_RED, on_ans_update_red_dot)
|
|
self:BindEvent(GlobalEventSystem,EventName.UPDATE_BAG_RED,on_ans_update_red_dot)
|
|
self:BindEvent(EquipCollectModel:getInstance(),EquipCollectConst.ANS_EQUIP_COLLECT_INFO, on_ans_update_red_dot)
|
|
|
|
local function onGuideTrigger()
|
|
self:AddToStageHandler()
|
|
end
|
|
self:BindEvent(GlobalEventSystem, EventName.TRIGGER_GUIDE_TYPE, onGuideTrigger)
|
|
end
|
|
|
|
|
|
--清除界面
|
|
function BagMainView:Remove()
|
|
if self.tabWindowComponent then
|
|
self.tabWindowComponent:DeleteMe()
|
|
end
|
|
self.tabWindowComponent = nil
|
|
|
|
|
|
if self.depotView then
|
|
self.depotView:DeleteMe()
|
|
end
|
|
|
|
if self.bag_view then
|
|
self.bag_view:DeleteMe()
|
|
end
|
|
|
|
if self.swallow_view then
|
|
self.swallow_view:DeleteMe()
|
|
end
|
|
self.swallow_view = nil
|
|
-- 复原绿屏
|
|
CheatModel:getInstance():DisabledGreenScreenEffect()
|
|
end
|
|
|
|
|
|
function BagMainView:SeletedTabbar(index, force)
|
|
if self.current_index == index and not force then return end
|
|
if self.tabWindowComponent ~= nil then
|
|
self.tabWindowComponent:SetTabBarIndex(index)
|
|
end
|
|
|
|
self.current_index = index
|
|
|
|
if not self.bag_view then
|
|
self.bag_view = BagView.New(self.winCon, nil, self.layer_name)
|
|
end
|
|
|
|
if index == 1 then
|
|
self.model.show_warehouse = false
|
|
self.model.show_bag_view = true
|
|
self.bag_view:SetVisible(true)
|
|
self.bag_view:DoOpenAni(index)
|
|
self.bag_view:SetCustomVisible(true)
|
|
self.bag_view:SetBgMaskVisible(false)
|
|
if self.swallow_view then
|
|
self.swallow_view:SetVisible(false)
|
|
end
|
|
if self.depotView then
|
|
self.depotView:SetVisible(false)
|
|
end
|
|
|
|
elseif index == 2 then
|
|
self.model.show_warehouse = true
|
|
self.model.show_bag_view = false
|
|
if not self.depotView then
|
|
self.depotView = DepotView.New(self.winCon, nil, self.layer_name)
|
|
end
|
|
self.bag_view:SetVisible(true)
|
|
--self.bag_view:SetCustomVisible(false) --SetBgMaskVisible在这里处理先显示拍照后,在隐藏
|
|
self.bag_view:SetBgMaskVisible(true)
|
|
self.depotView:SetVisible(true)
|
|
self.bag_view:DoOpenAni(index)
|
|
if self.swallow_view then
|
|
self.swallow_view:SetVisible(false)
|
|
end
|
|
|
|
elseif index == 3 then
|
|
self.model.show_warehouse = false
|
|
self.model.show_bag_view = false
|
|
self.bag_view:SetVisible(false)
|
|
self.bag_view:SetCustomVisible(false)
|
|
self.bag_view:SetBgMaskVisible(false)
|
|
if self.depotView then
|
|
self.depotView:SetVisible(false)
|
|
end
|
|
if self.swallow_view == nil then
|
|
self.swallow_view = SwallowView.New(self.winCon)
|
|
end
|
|
self.swallow_view:UpdateView()
|
|
self.swallow_view:SetVisible(true)
|
|
end
|
|
end
|
|
|
|
function BagMainView:ShowTabRedPointState()
|
|
local swallow_red = BagModel:getInstance():GetSwallowRedDot()
|
|
local currency_exchange_red = BagModel.getInstance():GetBagEquipSuitActiveRedDot()
|
|
self.tabWindowComponent:ShowRedPoint(1, currency_exchange_red )
|
|
self.tabWindowComponent:ShowRedPoint(3, swallow_red)
|
|
end
|
|
|
|
|
|
function BagMainView:AddToStageHandler()
|
|
local helpVo = GuideModel:getInstance():GetHelpVo(HelpType.TYPE_EQUIP_COLLECT_TWO,2)
|
|
if helpVo then
|
|
self.is_trigger_guide = true
|
|
end
|
|
end
|
|
|
|
function BagMainView:Close()
|
|
--完成引导
|
|
local helpVo = GuideModel:getInstance():GetHelpVo(HelpType.TYPE_EQUIP_COLLECT_TWO,2) or GuideModel:getInstance():GetHelpVo(HelpType.TYPE_EQUIP_SUIT_ACTIVE,4)
|
|
if helpVo then
|
|
GlobalEventSystem:Fire(EventName.FINISH_CURRENT_HELP_STEP,helpVo)
|
|
end
|
|
if self.is_trigger_guide then
|
|
GlobalEventSystem:Fire(EventName.FORCE_TO_DO_TASK)
|
|
end
|
|
BaseView.Close(self)
|
|
end
|