Lua单例

Lua单例

--单例1
local Singleton = class("Singleton")

Singleton.type_ = "Singleton"

function Singleton:GetInstance()
    local o = _G.Singleton
    print("old")
    if o then return o end
    
    o = {}
    _G.Singleton = o
    setmetatable(o, self)
    self.__index = self
    print("new")
    return o
end

return Singleton
--使用
--[[
    local Singleton = import("..Node.Singleton")
    s = Singleton:GetInstance()
    print(s.type_)
]]--
--单例2
local Singleton2 = class("Singleton2")  

--local scheduler = require("framework.scheduler")

Singleton2.time_ = 0

function Singleton2:ctor()
    print("Singleton2")
    self.time_ = 1
    
    --scheduler.scheduleGlobal(Singleton2.UpdateManager_, 1)   
end

function Singleton2:UpdateManager_(dt)
    print(dt)
    self.time_ = self.time_ + 1
    print(self.time_)    
end

return Singleton2
--[[
    local message = require("scripts.app.Node.Singleton2")
    --message也是单例 lua方式
    message:UpdateManager_(dt)
]]--

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值