发公告lua代码

--addText方法由服务器向客户端发消息时调用,之后不断增加公告数量,一直到最后一条公告播完
function bull.addText(text) --显示的内容和当前时间
    if self._listShow == nil then
        self._listShow = {}
    end
    local tb = {}
    tb.text = text 
    tb.time = 当前时间
    self._listShow[#self._listShow + 1] = tb
    self:SetActive(true) --显示
end

function bull.onUpdate() --每0.5秒执行一次
    if 是否需要显示 then
        return
    end
    if self._passedTime <= 0 then --当前这条公告到达需要显示的时间
        local tb = self._listShow[1]
        if tb == nil then
            self:SetShow(false)
        else
            table.remove(self._listShow,1) --先删除当前的公告
            if (当前时间 - tb.time) >= 10分钟 then --10分钟之前的公告将被一次性全部清干净
                self.onUpdate()
                return
            else
                self._text:SetText(tb.text) --设置公告
                self._passedTime = self._passedTime + 5秒钟
            end
        end
    else
        self._passedTime = self._passedTime - 0.5秒 --每0.5秒做一次判断
    end
end

猜你喜欢

转载自blog.csdn.net/tran119/article/details/82973348