StarPointItem = StarPointItem or BaseClass(BaseItem)
|
|
|
|
function StarPointItem:__init()
|
|
self.base_file = "starMap"
|
|
self.layout_file = "StarPointItem"
|
|
self.data = nil
|
|
self.model = StarMapModel:getInstance()
|
|
self:Load()
|
|
end
|
|
|
|
function StarPointItem:Load_callback()
|
|
self.light = self:GetChild("checkmark").gameObject
|
|
self.select = self:GetChild("select").gameObject
|
|
self.bg = self:GetChild("bg").gameObject
|
|
if self.need_refreshData then
|
|
self:SetData(self.data)
|
|
end
|
|
if self.need_setLight then
|
|
self:SetLight(self.is_light)
|
|
end
|
|
if self.need_setSelect then
|
|
self:SetSelect(self.is_select)
|
|
end
|
|
if self.need_setNext then
|
|
self:SetIsNext(self.is_next)
|
|
end
|
|
|
|
self:InitEvent()
|
|
end
|
|
|
|
function StarPointItem:InitEvent()
|
|
local function onClick(target)
|
|
if target == self.bg then
|
|
self.model:Fire(StarMapModel.CLICK_POINT_ITEM,self.data.point_id,self.data.star_map_id)
|
|
end
|
|
end
|
|
AddClickEvent(self.bg,onClick)
|
|
end
|
|
|
|
function StarPointItem:SetData(data)
|
|
if data == nil then return end
|
|
self.data = data
|
|
if self.is_loaded then
|
|
local pos = self.model:GetPointPos(data.star_map_id)
|
|
if pos then
|
|
self:SetPosition(pos.x,pos.y)
|
|
end
|
|
self.need_refreshData = false
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function StarPointItem:SetLight(bool)
|
|
self.is_light = bool
|
|
if self.is_loaded then
|
|
self.light:SetActive(bool)
|
|
self.need_setLight = false
|
|
else
|
|
self.need_setLight = true
|
|
end
|
|
end
|
|
|
|
function StarPointItem:SetSelect(bool)
|
|
self.is_select = bool
|
|
if self.is_loaded then
|
|
self.select:SetActive(bool)
|
|
self.need_setSelect = false
|
|
else
|
|
self.need_setSelect = true
|
|
end
|
|
end
|
|
|
|
function StarPointItem:SetIsNext(bool)
|
|
self.is_next = bool
|
|
if self.is_loaded then
|
|
--self.can:SetActive(bool)
|
|
if bool then
|
|
self.light:SetActive(true)
|
|
self:AlphaAnimation(0.35)
|
|
self.need_setNext = false
|
|
else
|
|
self.light:GetComponent("Image").alpha = 1
|
|
self:StopAnim()
|
|
end
|
|
else
|
|
self.need_setNext = true
|
|
end
|
|
end
|
|
|
|
--图片上下移动
|
|
function StarPointItem:AlphaAnimation(time)
|
|
local call_fun = function ()
|
|
local function onCompleted()
|
|
self:AlphaAnimation(time)
|
|
end
|
|
self.tween_id3 =TweenLite.to(self, self.light:GetComponent("Image"),TweenLite.UiAnimationType.ALPHA,0.8,time,onCompleted)
|
|
end
|
|
local onDelay = function( )
|
|
self.tween_id2 =TweenLite.to(self, self.light:GetComponent("Image"),TweenLite.UiAnimationType.ALPHA,0, time, call_fun)
|
|
end
|
|
self.arrow_timer_id = setTimeout(onDelay, time)
|
|
end
|
|
|
|
function StarPointItem:StopAnim()
|
|
if self.tween_id2 then
|
|
TweenLite.Stop(self.tween_id2)
|
|
self.tween_id2 = nil
|
|
end
|
|
if self.tween_id3 then
|
|
TweenLite.Stop(self.tween_id3)
|
|
self.tween_id3 = nil
|
|
end
|
|
if self.arrow_timer_id then
|
|
GlobalTimerQuest:CancelQuest(self.arrow_timer_id)
|
|
self.arrow_timer_id = nil
|
|
end
|
|
end
|
|
|
|
|
|
function StarPointItem:__delete()
|
|
self:StopAnim()
|
|
end
|