StrengthView = StrengthView or BaseClass(BaseView)
|
|
function StrengthView:__init()
|
|
self.base_file = "strength"
|
|
self.layout_file = "StrengthView"
|
|
self.layer_name = "Activity"
|
|
self.destroy_imm = false
|
|
self.delay_delete_time = 1
|
|
self.use_background = false
|
|
self.hide_maincancas = false
|
|
self.use_show_anim = true
|
|
self.use_hide_anim = true
|
|
self.item_list = {}
|
|
self.open_guide_close = true
|
|
self.model = StrengthModel:getInstance()
|
|
self.change_scene_close = true
|
|
self:AddPreLoadList("strength",{"StrengthItem"})
|
|
self.load_callback = function()
|
|
self:LoadSuccess()
|
|
self:InitEvent()
|
|
end
|
|
|
|
self.open_callback = function()
|
|
self:UpdateView()
|
|
self:AutoCheckViewNotData()
|
|
end
|
|
|
|
self.close_callback = function()
|
|
|
|
end
|
|
|
|
self.destroy_callback = function()
|
|
self:Remove()
|
|
end
|
|
end
|
|
|
|
function StrengthView:Remove()
|
|
for k,v in pairs(self.item_list) do
|
|
v:DeleteMe()
|
|
end
|
|
self.item_list = {}
|
|
self:ClearTimer()
|
|
end
|
|
|
|
function StrengthView:LoadSuccess()
|
|
local nodes = {
|
|
"close_btn:obj",
|
|
}
|
|
self:GetChildren(nodes)
|
|
|
|
self.ScrollView,
|
|
self.ScrollViewViewport,
|
|
self.ScrollViewCon,
|
|
self.InfoCon
|
|
= GetChildTransforms(self.transform,
|
|
{
|
|
|
|
"InfoCon/ScrollView",
|
|
"InfoCon/ScrollView/Viewport",
|
|
"InfoCon/ScrollView/Viewport/Content",
|
|
"InfoCon",
|
|
})
|
|
self.firstChargeBtn = self:GetChild("InfoCon/firstChargeBtn").gameObject
|
|
self.img_sp_img = self:GetChild("InfoCon/firstChargeBtn/img_sp"):GetComponent("Image")
|
|
SetAnchoredPosition(self.transform,(ScreenWidth / 2 - 460 - ClientConfig.iphone_x_offset_right), 230-ScreenHeight / 2 )
|
|
SetAnchoredPosition(self.close_btn, - (ScreenWidth / 2 - 460 - ClientConfig.iphone_x_offset_right), -(230-ScreenHeight / 2 ))
|
|
SetSizeDelta(self.close_btn, ScreenWidth * 1.5, ScreenHeight*1.5)
|
|
end
|
|
|
|
function StrengthView:InitEvent()
|
|
|
|
|
|
local function onBtnClickHandler(target)
|
|
if target == self.firstChargeBtn then
|
|
local b,res,module_id,module_sub,module_name,sub_tab_id = self.model:GetOtherOption()
|
|
if b then
|
|
OpenFun.Open(module_id, module_sub, nil,sub_tab_id)
|
|
end
|
|
self:Close()
|
|
elseif target == self.close_btn_obj then
|
|
self:Close()
|
|
end
|
|
end
|
|
AddClickEvent(self.close_btn_obj,onBtnClickHandler)
|
|
AddClickEvent(self.firstChargeBtn,onBtnClickHandler)
|
|
|
|
local function onGuideTrigger()
|
|
self:AddToStageHandler()
|
|
end
|
|
self:BindEvent(GlobalEventSystem, EventName.TRIGGER_GUIDE_TYPE, onGuideTrigger)
|
|
end
|
|
|
|
function StrengthView:UpdateView( )
|
|
local call_back = function( vo )
|
|
self:ClickOperation(vo)
|
|
end
|
|
local list = self.model:GetStrengthList()
|
|
local b,res,module_id,module_sub,module_name = self.model:GetOtherOption()
|
|
if b then
|
|
if #list <= 2 then
|
|
self.firstChargeBtn.gameObject:SetActive(false)
|
|
SetSizeDeltaY(self.ScrollView, 173)
|
|
else
|
|
lua_resM:setImageSprite(self,self.img_sp_img,"strength_asset",res)
|
|
self.firstChargeBtn.gameObject:SetActive(true)
|
|
SetSizeDeltaY(self.ScrollView, 110)
|
|
end
|
|
else
|
|
self.firstChargeBtn.gameObject:SetActive(false)
|
|
SetSizeDeltaY(self.ScrollView, 162)
|
|
end
|
|
|
|
--如果小于2条的时候,这首充跟着item滑动
|
|
if #list > 0 and #list <= 2 then
|
|
local b,res,module_id,module_sub,module_name,sub_tab_id = self.model:GetOtherOption()
|
|
if b then
|
|
table.insert(list, {name = module_name, winId = module_id, subId = module_sub, tabId = nil, sort_id=80, res_name = res, sub_tab_id = sub_tab_id})
|
|
end
|
|
end
|
|
local h = 0
|
|
for i,v in ipairs(list) do
|
|
local item = self.item_list[i]
|
|
if not item then
|
|
item = StrengthItem.New(self.ScrollViewCon)
|
|
self.item_list[i] = item
|
|
end
|
|
item:SetVisible(true)
|
|
item:SetData(v, call_back)
|
|
|
|
if v.winId == 159 and v.subId == 1 then
|
|
item:SetAnchoredPosition(0, -h - 7)
|
|
h = h + 55
|
|
else
|
|
item:SetAnchoredPosition(0, -(i - 1) * 54 )
|
|
h = h + 54
|
|
end
|
|
end
|
|
SetSizeDeltaY(self.ScrollViewCon, h)
|
|
for i=#list+1, #self.item_list do
|
|
self.item_list[i]:SetVisible(false)
|
|
end
|
|
|
|
self:AddToStageHandler()
|
|
end
|
|
|
|
function StrengthView:ClickOperation( vo )
|
|
if vo.winId == 610 and vo.subId == 0 and vo.tabId == 1 then
|
|
ExpDunModel:getInstance():Fire(ExpDunModel.CHECK_OPEN_HANGUP_RECEIVE_VIEW)
|
|
elseif vo.winId == 610 and vo.subId == 0 and vo.tabId == 2 then
|
|
ExpDunModel:getInstance():Fire(ExpDunModel.OPEN_QUICK_HANGUP_VIEW, true)
|
|
elseif vo.winId == 210 then
|
|
GlobalEventSystem:Fire(EventName.OPEN_SKILL_VIEW, vo.tabId, true)
|
|
else
|
|
OpenFun.Open(vo.winId, vo.subId, vo.tabId, vo.sub_tab_id)
|
|
end
|
|
self:Close()
|
|
end
|
|
|
|
-- 有时候界面会出现空白的情况 所以加一个判断机制 在打开界面的情况下 倒计时几秒后检查数据还有没有
|
|
function StrengthView:AutoCheckViewNotData()
|
|
self:ClearTimer()
|
|
if self._use_delete_Method then return end
|
|
local function DelayFunc()
|
|
local bool = self.model:CanStrength()
|
|
if not bool then
|
|
self:Close()
|
|
end
|
|
end
|
|
self.timer = setTimeout(DelayFunc, 5)
|
|
end
|
|
|
|
function StrengthView:ClearTimer()
|
|
if self.timer then
|
|
GlobalTimerQuest:CancelQuest(self.timer)
|
|
self.timer = nil
|
|
end
|
|
end
|
|
|
|
function StrengthView:AddToStageHandler()
|
|
local helpVo = GuideModel:getInstance():GetHelpVo(HelpType.TYPE_SHOW_FIGHT_UP_TIPS,1)
|
|
if not helpVo then return end
|
|
local help_type = helpVo.help_type
|
|
if help_type == HelpType.TYPE_SHOW_FIGHT_UP_TIPS then
|
|
local step = helpVo.step
|
|
local button = false
|
|
if (help_type == HelpType.TYPE_SHOW_FIGHT_UP_TIPS and step == 1) then
|
|
button = self.firstChargeBtn
|
|
end
|
|
if button then
|
|
local function call_back()
|
|
|
|
end
|
|
GlobalEventSystem:Fire(EventName.OPEN_GUIDE_PROMPT_VIEW, button.transform, button.transform.parent.transform, call_back, helpVo, self.layout_file)
|
|
end
|
|
end
|
|
end
|
|
|
|
|
|
function StrengthView:Close()
|
|
--完成引导
|
|
local helpVo = GuideModel:getInstance():GetHelpVo(HelpType.TYPE_SHOW_FIGHT_UP_TIPS,1)
|
|
if helpVo then
|
|
GlobalEventSystem:Fire(EventName.FINISH_CURRENT_HELP_STEP,helpVo)
|
|
end
|
|
BaseView.Close(self)
|
|
end
|