EquipCollectSuitTipView = EquipCollectSuitTipView or BaseClass(BaseView)
|
|
local EquipCollectSuitTipView = EquipCollectSuitTipView
|
|
--[[
|
|
EquipCollectSuitTipView.TabData = {
|
|
[1] = {name = "人物", level = MainRoleModel.TabOpenLevel[1]},
|
|
}
|
|
--]]
|
|
local table_insert = table.insert
|
|
|
|
function EquipCollectSuitTipView:__init()
|
|
self.base_file = "equipCollect"
|
|
self.layout_file = "EquipCollectSuitTipView"
|
|
self.layer_name = "UI"
|
|
self.destroy_imm = true
|
|
self.use_background = true --全屏界面默认使用这个参数
|
|
self.close_fog = true
|
|
--self.hide_maincancas = true --全屏界面需要放开隐藏主UI
|
|
self.change_scene_close = true
|
|
self.append_to_ctl_queue = false --是否要添加进界面堆栈
|
|
self.need_show_money = false --是否要显示顶部的金钱栏
|
|
self.item_list = {}
|
|
self.tween_list = {}
|
|
self.timer_list = {}
|
|
self.close_time = 10
|
|
self.model = EquipCollectModel:getInstance()
|
|
self.item_posy = {
|
|
[1] = -415,
|
|
[2] = -194,
|
|
[3] = -391,
|
|
[4] = -194,
|
|
[5] = -299,
|
|
[6] = -391,
|
|
[7] = -299,
|
|
}
|
|
self.load_callback = function ()
|
|
self:LoadSuccess()
|
|
self:AddEvent()
|
|
end
|
|
self.open_callback = function ( )
|
|
self:OpenSuccess()
|
|
end
|
|
self.switch_callback = function(index)
|
|
self:SwitchTab(index)
|
|
end
|
|
self.destroy_callback = function ( )
|
|
self:DestroySuccess()
|
|
end
|
|
end
|
|
|
|
function EquipCollectSuitTipView:Open(data)
|
|
self.data = data
|
|
BaseView.Open(self)
|
|
end
|
|
|
|
function EquipCollectSuitTipView:LoadSuccess()
|
|
local nodes = {
|
|
"item2", "item1", "item5", "item6", "bg:raw", "btn/btn_text:tmp", "btn:obj", "item7", "item3", "role_con", "item4",
|
|
"time_text:tmp", "color_image:img",
|
|
}
|
|
self:GetChildren(nodes)
|
|
lua_resM:setOutsideRawImage(self,self.bg_raw,GameResPath.GetViewBigBg("equipcollect_suit_tip_bg"),false)
|
|
local function bg_back_func( ... )
|
|
if self.background_wnd and self.background_wnd:GetComponent("RawImageExtend") then
|
|
self:MoveUIToBack(self.background_wnd:GetComponent("RawImageExtend"))
|
|
end
|
|
self:MoveUIToBack(self.bg_raw)
|
|
end
|
|
if self.background_wnd then
|
|
bg_back_func()
|
|
else
|
|
self.bg_back_func = bg_back_func
|
|
end
|
|
end
|
|
|
|
function EquipCollectSuitTipView:AddEvent()
|
|
local function on_click( )
|
|
self:Close()
|
|
self.model:Fire(EquipCollectConst.OPEN_EC_MAIN_VIEW, true, EquipCollectConst.TAB_ID.COLLECT, self.data.id, self.sub_id, self.sub_id)
|
|
end
|
|
AddClickEvent(self.btn_obj, on_click)
|
|
end
|
|
|
|
function EquipCollectSuitTipView:OpenSuccess()
|
|
self:UpdateView()
|
|
end
|
|
|
|
--图片上下移动
|
|
function EquipCollectSuitTipView:ArrowAnimation(index,time)
|
|
if index then
|
|
local call_fun = function ()
|
|
local function onCompleted()
|
|
self:ArrowAnimation(index, 0.01)
|
|
end
|
|
table.insert(self.tween_list, TweenLite.to(self, self["item"..index].transform,TweenLite.UiAnimationType.ANCHORED_POSY,self.item_posy[index] + 5,1.2,onCompleted))
|
|
end
|
|
local onDelay = function( )
|
|
table.insert(self.tween_list, TweenLite.to(self, self["item"..index].transform,TweenLite.UiAnimationType.ANCHORED_POSY,self.item_posy[index] - 25,1.2,call_fun))
|
|
end
|
|
table.insert(self.timer_list, setTimeout(onDelay, 0.01))
|
|
else
|
|
for i=1,7 do
|
|
time = 0.05 * i
|
|
local call_fun = function ()
|
|
local function onCompleted()
|
|
self:ArrowAnimation(i, time)
|
|
end
|
|
table.insert(self.tween_list, TweenLite.to(self, self["item"..i].transform,TweenLite.UiAnimationType.ANCHORED_POSY,self.item_posy[i] + 5,1.2,onCompleted))
|
|
end
|
|
local onDelay = function( )
|
|
table.insert(self.tween_list, TweenLite.to(self, self["item"..i].transform,TweenLite.UiAnimationType.ANCHORED_POSY,self.item_posy[i] - 25,1.2,call_fun))
|
|
end
|
|
table.insert(self.timer_list, setTimeout(onDelay, time))
|
|
end
|
|
end
|
|
end
|
|
|
|
--停止动画
|
|
function EquipCollectSuitTipView:StopAnim()
|
|
for i,v in ipairs(self.tween_list) do
|
|
TweenLite.Stop(v)
|
|
end
|
|
self.tween_list = {}
|
|
for i,v in ipairs(self.timer_list) do
|
|
GlobalTimerQuest:CancelQuest(v)
|
|
end
|
|
self.timer_list = {}
|
|
end
|
|
|
|
|
|
function EquipCollectSuitTipView:UpdateView()
|
|
local server_data = self.model:GetEquipCollectInfo(self.data.id)
|
|
local bool = false
|
|
--构造一个7个装备的数据
|
|
local data = {}
|
|
local temp_server_data = {}
|
|
for i=1,7 do
|
|
data[i] = {
|
|
type_id = 0,
|
|
pos_id = i,
|
|
}
|
|
end
|
|
for i,v in pairsByKeys(server_data) do
|
|
if TableSize(v) == 7 then--满足7件
|
|
bool = bool or not self.model:CheckIsAllEquipCollected(self.data.id, i)--并且没领奖励
|
|
temp_server_data = bool and v or temp_server_data
|
|
self.sub_id = bool and i or self.sub_id
|
|
end
|
|
end
|
|
|
|
for i,v in ipairs(temp_server_data) do
|
|
data[i].type_id = v
|
|
end
|
|
local str = string.format("equipcollect_tip%s%s", self.data.id, self.sub_id or self.data.sub_id)
|
|
lua_resM:setImageSprite(self, self.color_image_img, "equipCollectOut_asset", str, false)
|
|
for i,v in ipairs(data) do
|
|
local item = self.item_list[i]
|
|
if not item then
|
|
item = EquipCollectTipItem.New(self["item"..i])
|
|
self.item_list[i] = item
|
|
end
|
|
item:SetData(v, "suit_view")
|
|
item:SetPosition(-14, 0)
|
|
end
|
|
self:UpdateModel()
|
|
self.model:CleanEquipCollectNeedShowTipData()
|
|
self:ArrowAnimation()
|
|
self:StartCloseTimer()
|
|
end
|
|
|
|
function EquipCollectSuitTipView:SwitchTab( index )
|
|
|
|
end
|
|
|
|
function EquipCollectSuitTipView:StartCloseTimer( )
|
|
local end_time = self.close_time + TimeUtil:getServerTime()
|
|
local function hide_timer()
|
|
local left_time = end_time - TimeUtil:getServerTime()
|
|
if left_time <= 0 then
|
|
self:Close()
|
|
self.model:Fire(EquipCollectConst.OPEN_EC_MAIN_VIEW, true, EquipCollectConst.TAB_ID.COLLECT, self.data.id, self.sub_id, self.sub_id)
|
|
end
|
|
self.time_text_tmp.text = string.format("%s 秒后自动关闭页面", HtmlColorTxt(left_time, ColorUtil.GREEN_DARK))
|
|
end
|
|
hide_timer()
|
|
if not self.hide_timer_id then
|
|
self.hide_timer_id = GlobalTimerQuest:AddPeriodQuest(hide_timer, 0.1, -1)
|
|
end
|
|
end
|
|
|
|
function EquipCollectSuitTipView:ClearHideTimer( )
|
|
if self.hide_timer_id then
|
|
GlobalTimerQuest:CancelQuest(self.hide_timer_id)
|
|
self.hide_timer_id = nil
|
|
end
|
|
end
|
|
|
|
function EquipCollectSuitTipView:DestroySuccess( )
|
|
for i,v in ipairs(self.item_list) do
|
|
v:DeleteMe()
|
|
v = nil
|
|
end
|
|
self.item_list = {}
|
|
self:StopAnim()
|
|
self:ClearHideTimer()
|
|
end
|
|
|
|
function EquipCollectSuitTipView:UpdateModel( )
|
|
local res_data = {
|
|
father_node = self,
|
|
transform = self.role_con,
|
|
fashion_type = FuncOpenModel.TypeId.Clothes,
|
|
scale = 200,
|
|
ui_model_type = UIModelCommon.ModelType.BackModel,
|
|
layer_name = self.layer_name,
|
|
position = Vector2(0, 60+(ScreenHeight-720)/2),
|
|
}
|
|
FuncOpenModel:getInstance():SetModelRes(res_data)
|
|
end
|
|
|
|
function EquipCollectSuitTipView:ReOpen( data )
|
|
self.data = data
|
|
self:UpdateView()
|
|
end
|