|
NewMainRoleView = NewMainRoleView or BaseClass(BaseView)
|
|
local NewMainRoleView = NewMainRoleView
|
|
|
|
NewMainRoleView.TabData = {
|
|
{id = NewMainRoleModel.TabId.ROLE, name = "角色", abName = "newmainrole_asset", light_res = "newMainRole_tab_1", dark_res = "newMainRole_tab_1_gray", view = "RoleAttributeView",open_lv = 1},
|
|
{id = NewMainRoleModel.TabId.Light, name = "幻光", abName = "newmainrole_asset", light_res = "newMainRole_tab_5", dark_res = "newMainRole_tab_5_gray", view = "LightSubView",open_lv = Config.Moduleid[147].open_lv,open_task = Config.Moduleid[147].task_id },
|
|
-- {id = NewMainRoleModel.TabId.NATURE, name = "性格", abName = "newmainrole_asset", light_res = "newMainRole_tab_5", dark_res = "newMainRole_tab_5_gray", view = "NatureSubView",open_lv = Config.Moduleid[167].open_lv },
|
|
{id = NewMainRoleModel.TabId.SOULPOWER, name = "魂力", abName = "newmainrole_asset", light_res = "newMainRole_tab_5", dark_res = "newMainRole_tab_5_gray", view = "SoulPowerView",open_lv = Config.Moduleid[144].open_lv },
|
|
{id = NewMainRoleModel.TabId.REIN, name = "转职", abName = "newmainrole_asset", light_res = "newMainRole_tab_5", dark_res = "newMainRole_tab_5_gray", view = "ReinTaskView",open_lv = Config.Moduleid[164].open_lv },
|
|
-- [3] = {id = 3, name = "神格", light_res = "icon_sg1_1", dark_res = "icon_sg1_2"},
|
|
-- [4] = {id = 4, name = "法则", light_res = "icon_fz1_1", dark_res = "icon_fz1_2"},
|
|
}
|
|
|
|
function NewMainRoleView:__init()
|
|
self.base_file = "newMainRole"
|
|
self.layout_file = "NewMainRoleView"
|
|
self.layer_name = "UI"
|
|
self.destroy_imm = true
|
|
self.use_background = G_USING_BG
|
|
self.model_activity_bg = true -- 3d背景模式,带镜面反射,一级全屏界面才需要
|
|
self.model_activity_bg_pos = Vector2(-308,30) -- 3d背景的偏移坐标,默认是居中的,如果你的模型不是居中的话就要调整坐标
|
|
self.model_activity_bg_type = 2
|
|
self.append_to_ctl_queue = true
|
|
self.change_scene_close = true
|
|
self.hide_maincancas = true
|
|
self.close_fog = true
|
|
self.fire_change_visible_event = true
|
|
self.mainVo = RoleManager.Instance.mainRoleInfo
|
|
self.model = NewMainRoleModel:getInstance()
|
|
MateModel:GetInstance():Fire(MateConst.REQ_BASIC_INFO)--羁绊信息
|
|
self:AddPreLoadList("reincarnation", {"ReinTaskScrollItem", "ReinTaskDataItem"})
|
|
-- self:AddPreLoadList("reincarnation", {"ReinTaskDataItem"})
|
|
self.current_index = false
|
|
|
|
self.contaner_list = {}
|
|
self.tab_name_list = {}
|
|
|
|
self.load_callback = function ()
|
|
self:LoadSuccess()
|
|
self:AddEvent()
|
|
end
|
|
self.open_callback = function ( )
|
|
self:OpenSuccess()
|
|
self:SwitchTab(self.current_index or 1, true)
|
|
self:ShowTabRedPointState()
|
|
end
|
|
self.switch_callback = function(index)
|
|
self:SwitchTab(index)
|
|
end
|
|
self.close_win_callback = function ( )
|
|
self:Close()
|
|
end
|
|
self.destroy_callback = function ( )
|
|
self:DestroySuccess()
|
|
end
|
|
end
|
|
|
|
function NewMainRoleView:GetRealIndex( index )
|
|
index = index or 1
|
|
return index
|
|
end
|
|
|
|
function NewMainRoleView:Open(index,sub_index,value)
|
|
self.current_index = self:GetRealIndex(index)
|
|
self.sub_index = sub_index
|
|
self.value = value
|
|
BaseView.Open(self)
|
|
end
|
|
|
|
function NewMainRoleView:ReOpen(index,sub_index,value)
|
|
self.current_index = self:GetRealIndex(index)
|
|
self.sub_index = sub_index
|
|
self.value = value
|
|
self:SwitchTab(self.current_index or 1, true)
|
|
self:ShowTabRedPointState()
|
|
end
|
|
|
|
function NewMainRoleView:LoadSuccess()
|
|
local nodes = {
|
|
"winCon",
|
|
}
|
|
self:GetChildren(nodes)
|
|
|
|
self.tabWindowComponent = UITabWindow.New(self.transform,NewMainRoleView.TabData,self.switch_callback,
|
|
self.close_win_callback,self.background_wnd,self.winCon, UITabWindow.SizeLarge, false,nil,true)
|
|
-- self.tabWindowComponent:SetTitleRes("newmainrole_asset", "newMainRole_title_1") --标题
|
|
-- self.tabWindowComponent:SetBackgroundRes("default_bg_1")
|
|
self.tabWindowComponent:SetTitleText( "角色" )
|
|
self.tabWindowComponent:SetUIBack({target = self, bg1 = GameResPath.GetViewBigBg("default_bg_1")})
|
|
end
|
|
|
|
function NewMainRoleView:AddEvent()
|
|
local function on_ans_update_red_dot()
|
|
self:ShowTabRedPointState()
|
|
end
|
|
self:BindEvent(self.model, NewMainRoleModel.ANS_UPDATE_RED_DOT, on_ans_update_red_dot)
|
|
|
|
local function on_close_new_main_role_view()
|
|
self:Close()
|
|
end
|
|
self:BindEvent(self.model, NewMainRoleModel.CLOSE_NEW_MAIN_ROLE_VIEW, on_close_new_main_role_view)
|
|
|
|
local function onGuideTrigger()
|
|
self:AddToStageHandler()
|
|
end
|
|
self.guide_trigger_id = GlobalEventSystem:Bind(EventName.TRIGGER_GUIDE_TYPE,onGuideTrigger)
|
|
end
|
|
|
|
function NewMainRoleView:OpenSuccess()
|
|
self:UpdateView()
|
|
end
|
|
|
|
function NewMainRoleView:SetRoleLevelName()
|
|
if self.level_item == nil then
|
|
self.level_item = self:CreateItem(RoleLevelItem, self.level_con)
|
|
end
|
|
self.level_item:SetData(self.mainVo.level, self.mainVo.turn, true, RoleLevelAlignType.MIDDLE, self.mainVo.name, "'#fffce5'", 22)
|
|
end
|
|
|
|
function NewMainRoleView:UpdateView()
|
|
|
|
end
|
|
|
|
function NewMainRoleView:SwitchTab( index, force )
|
|
if self.current_index == index and not force then return end
|
|
if self.tabWindowComponent ~= nil then
|
|
self.tabWindowComponent:SetTabBarIndex(index)
|
|
end
|
|
local chile_view = self.contaner_list[index]
|
|
if not chile_view then
|
|
local viewModule = false
|
|
for k,v in pairs(NewMainRoleView.TabData) do
|
|
if v.id == tonumber(index) then
|
|
viewModule = v
|
|
break
|
|
end
|
|
end
|
|
|
|
if viewModule then
|
|
chile_view = self:CreateItem(_G[viewModule.view], self.winCon, self.layer_name)
|
|
end
|
|
self.contaner_list[index] = chile_view
|
|
end
|
|
if chile_view then
|
|
if chile_view.SetData then
|
|
chile_view:SetData(index, self.sub_index, self.value)
|
|
end
|
|
self:PopUpChild(chile_view)
|
|
self.sub_index = nil--一般是用来跳转的 用完就置空了
|
|
end
|
|
self.current_index = index
|
|
|
|
if index == NewMainRoleModel.TabId.ROLE then
|
|
self.tabWindowComponent:SetBackgroundRes("default_bg_2")
|
|
elseif index == NewMainRoleModel.TabId.Light then
|
|
self.tabWindowComponent:SetBackgroundRes("default_bg_2")
|
|
elseif index == NewMainRoleModel.TabId.NATURE then
|
|
self.tabWindowComponent:SetBackgroundRes("default_bg_2")
|
|
elseif index == NewMainRoleModel.TabId.REIN then
|
|
self.tabWindowComponent:SetBackgroundRes("default_bg_2")
|
|
end
|
|
end
|
|
|
|
function NewMainRoleView:DestroySuccess( )
|
|
if self.refresh_dot_id then
|
|
self.model:UnBind(self.refresh_dot_id)
|
|
self.refresh_dot_id = nil
|
|
end
|
|
|
|
if self.guide_trigger_id then
|
|
GlobalEventSystem:UnBind(self.guide_trigger_id)
|
|
self.guide_trigger_id = nil
|
|
end
|
|
|
|
if self.tabWindowComponent then
|
|
self.tabWindowComponent:DeleteMe()
|
|
end
|
|
self.tabWindowComponent = nil
|
|
end
|
|
|
|
function NewMainRoleView:ShowTabRedPointState()
|
|
self.tabWindowComponent:ShowRedPoint(NewMainRoleModel.TabId.Light, LightModel:GetInstance():GetLightAllRed(false))
|
|
-- self.tabWindowComponent:ShowRedPoint(NewMainRoleModel.TabId.NATURE, NatureModel:getInstance():GetNatureAllRed(true))
|
|
self.tabWindowComponent:ShowRedPoint(NewMainRoleModel.TabId.SOULPOWER, SoulPowerModel:getInstance():IsSoulPowerRed())
|
|
self.tabWindowComponent:ShowRedPoint(NewMainRoleModel.TabId.REIN, ReincarnationModel:getInstance():GetReinRed())
|
|
self.tabWindowComponent:ShowRedPoint(NewMainRoleModel.TabId.ROLE, KfWorldModel:getInstance():GetRewardGetRed())
|
|
end
|
|
|
|
|
|
function NewMainRoleView:AddToStageHandler()
|
|
local helpVo = GuideModel:getInstance():GetHelpVo(HelpType.TYPE_LIGHT,5)
|
|
if not helpVo then return end
|
|
local help_type = helpVo.help_type
|
|
local step = helpVo.step
|
|
local button = false
|
|
if help_type == HelpType.TYPE_LIGHT and step == 5 then
|
|
GlobalEventSystem:Fire(EventName.FINISH_CURRENT_HELP_STEP,helpVo)
|
|
self:Close()
|
|
-- button = self.tabWindowComponent and self.tabWindowComponent.win_close_btn
|
|
end
|
|
-- if button then
|
|
-- local function call_back()
|
|
-- self:Close()
|
|
-- end
|
|
-- GlobalEventSystem:Fire(EventName.OPEN_GUIDE_PROMPT_VIEW, button.transform, self.transform, call_back, helpVo, self.layout_file)
|
|
-- end
|
|
end
|
|
|
|
function NewMainRoleView:Close()
|
|
--完成引导
|
|
local helpVo = GuideModel:getInstance():GetHelpVo(HelpType.TYPE_LIGHT,5)
|
|
if helpVo then
|
|
if helpVo.step == 5 then
|
|
GlobalEventSystem:Fire(EventName.FINISH_CURRENT_HELP_STEP,helpVo)
|
|
end
|
|
GlobalEventSystem:Fire(EventName.FORCE_TO_DO_TASK)
|
|
end
|
|
BaseView.Close(self)
|
|
end
|