Singleton: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
m (change example) |
||
Line 1: | Line 1: | ||
{{Useful Class}} | {{Useful Class}} | ||
<lowercasetitle/> | <lowercasetitle/> | ||
__NOTOC__ | __NOTOC__ | ||
Line 42: | Line 41: | ||
==Example== | ==Example== | ||
{{Example}} | |||
==See Also== | ==See Also== | ||
{{Useful_Classes}} | {{Useful_Classes}} |
Revision as of 01:28, 13 September 2015
This class allows you to restrict the instantiation of a specific class to one object.
Requirements
sbx320's classLib, can be found Here[1]
Code
Singleton = {} function Singleton:getSingleton(...) if not self.ms_Instance then self.ms_Instance = self:new(...) end return self.ms_Instance end function Singleton:new(...) self.new = function() end local inst = new(self, ...) self.ms_Instance = inst return inst end function Singleton:isInstantiated() return self.ms_Instance ~= nil end function Singleton:virtual_destructor() for k, v in pairs(super(self)) do v.ms_Instance = nil v.new = Singleton.new end end
Original Author: Jusonex
Example
Script Example Missing Function Singleton needs a script example, help out by writing one. | |
Before submitting check out Editing Guidelines Script Examples. |
-- TODO
See Also
- Singleton » This class allows to restrict the instantiation of a specific class to one object.
- CThread » This class represents a simple coroutine manager which can be used to limit method calls / loop.
- Importer » This class make easy to use exported functions.
- Observable » Observable variables. Call function on variable value change.
- MatrixPOP » This class allows to use simple matrix without using MTA's OOP functions