From 08ab881a480a73d6be005c4b4e1cf35814b53e3c Mon Sep 17 00:00:00 2001 From: chai Date: Sat, 17 Oct 2020 15:22:09 +0800 Subject: +init --- modules/std/singleton.qs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 modules/std/singleton.qs (limited to 'modules/std/singleton.qs') diff --git a/modules/std/singleton.qs b/modules/std/singleton.qs new file mode 100644 index 0000000..afade4b --- /dev/null +++ b/modules/std/singleton.qs @@ -0,0 +1,23 @@ + +class Singleton { + static func get() { + if( type._instance == null ) { + type._instance = new type(); + } + return type._instance; + } +} + +/* +Usage: + +class SoundManager is Singleton { + func init() { + + } +} + +var mgr = SoundManager.get(); + +//type is upvalue\preset value, like self +*/ \ No newline at end of file -- cgit v1.1-26-g67d0