MessageItemNew = MessageItemNew or BaseClass(BaseItem)
|
|
local MessageItemNew = MessageItemNew
|
|
MessageItemNew.Height = 32
|
|
MessageItemNew.MoveOffset = 20
|
|
function MessageItemNew:__init(parent,prefab_asset,layer_name,create_callback)
|
|
self.base_file = "message"
|
|
self.layout_file = "miniMessage"
|
|
self.layer_name = "Top"
|
|
self.create_callback = create_callback
|
|
self:Load()
|
|
end
|
|
|
|
function MessageItemNew:Load_callback()
|
|
-- self.nodes = {
|
|
-- "content:txt",
|
|
-- "bg",
|
|
-- }
|
|
-- self:GetChildren(self.nodes)
|
|
self.height = MessageItemNew.Height
|
|
self.bg = self:GetChild("bg").gameObject
|
|
self.bg_transform = self.bg.transform
|
|
self.text = self:GetChild("Text"):GetComponent("TMP_Text")
|
|
if self.create_callback then
|
|
self:create_callback(self)
|
|
end
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
|
|
function MessageItemNew:AddEvents( )
|
|
|
|
end
|
|
|
|
function MessageItemNew:UpdateView( )
|
|
self.text.text = self.data.content
|
|
self:SetVisible(true)
|
|
self:SetPosition(0,-self.real_index*(self.height))
|
|
local function time_callback ()
|
|
self.time_count = self.time_count + 1
|
|
if self.time_count >= 2 then
|
|
SysInfoCtrl.Instance:DeleteFuncCallBack("MessageItemNew"..self.real_index)
|
|
self.callback(self, self.index, self.real_index)
|
|
end
|
|
end
|
|
SysInfoCtrl.Instance:SetFuncCallBack(time_callback, "MessageItemNew"..self.real_index)
|
|
SetSizeDeltaX(self.bg_transform, self.text.preferredWidth + 72)
|
|
end
|
|
|
|
--real_index是目前正在飘的所有item总数
|
|
function MessageItemNew:SetData( data ,index, real_index, callback)
|
|
self.data = data
|
|
self.index = index
|
|
self.real_index = real_index
|
|
self.callback = callback
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function MessageItemNew:Reset( )
|
|
self.time_count = 0
|
|
SetAnchoredPositionY(self.transform,0)
|
|
cc.ActionManager:getInstance():removeAllActionsFromTarget(self.transform)
|
|
self.is_first_create = true
|
|
end
|
|
|
|
function MessageItemNew:__delete( )
|
|
cc.ActionManager:getInstance():removeAllActionsFromTarget(self.transform)
|
|
SysInfoCtrl.Instance:DeleteFuncCallBack("MessageItemNew"..self.real_index)
|
|
end
|