源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

123 lines
2.8 KiB

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