Create Template.luau

This commit is contained in:
Clint 2024-06-28 15:49:07 +02:00 committed by GitHub
parent 9e7c924c79
commit a2bc7709eb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View 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