feat: add commander.deregister function

simply deregisters/removes a lua defined command
pull/61/head
sammyette 2021-06-12 10:30:47 -04:00
parent fb04322844
commit 26eee56c8b
No known key found for this signature in database
GPG Key ID: 50EE40A2809851F5
2 changed files with 10 additions and 3 deletions

View File

@ -20,8 +20,6 @@ func (c *Commander) Loader(L *lua.LState) int {
"register": c.register,
}
mod := L.SetFuncs(L.NewTable(), exports)
L.SetGlobal("commanding", &lua.LTable{})
L.SetField(L.GetGlobal("commanding"), "__commands", L.NewTable())
L.Push(mod)
@ -37,3 +35,10 @@ func (c *Commander) register(L *lua.LState) int {
return 0
}
func (c *Commander) deregister(L *lua.LState) int {
cmdName := L.CheckString(1)
c.Events.Emit("commandDeregister", cmdName)
return 0
}

4
lua.go
View File

@ -48,7 +48,9 @@ func LuaInit() {
cmds.Events.On("commandRegister", func(cmdName string, cmd *lua.LFunction) {
commands[cmdName] = cmd
})
cmds.Events.On("commandDeregister", func(cmdName string) {
delete(commands, cmdName)
})
l.PreloadModule("commander", cmds.Loader)
hooks = bait.New()