|
|
- 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
|