Create Template.luau
This commit is contained in:
parent
9e7c924c79
commit
a2bc7709eb
1 changed files with 24 additions and 0 deletions
24
src/Shared/Modules/Managers/UIManager/Template.luau
Normal file
24
src/Shared/Modules/Managers/UIManager/Template.luau
Normal file
|
@ -0,0 +1,24 @@
|
|||
local types = require(script.Parent.Types)
|
||||
|
||||
local module = {}
|
||||
|
||||
local template = {}
|
||||
template["__index"] = template
|
||||
|
||||
function module.new<Object, MethodOptions, Parameters>(): types.Template<Object, MethodOptions, Parameters>
|
||||
return setmetatable({
|
||||
Files = {},
|
||||
} :: types.TemplateClass<Object, MethodOptions, Parameters>, template) :: types.Template<Object, MethodOptions, Parameters>
|
||||
end
|
||||
|
||||
function template:Create<Object, MethodOptions, Parameters>(method: MethodOptions, callback: (self: Object, parameters: Parameters?) -> ()): ()
|
||||
self.Files[method] = callback
|
||||
end
|
||||
|
||||
function template:Fire<Object, MethodOptions, Parameters>(method: MethodOptions, object: Object, parameters: Parameters?): ()
|
||||
if self.Files[method] then
|
||||
self.Files[method](object, parameters)
|
||||
end
|
||||
end
|
||||
|
||||
return module
|
Loading…
Reference in a new issue