2025-06-28 11:24:06 +03:00
|
|
|
package logic
|
|
|
|
|
|
|
|
import (
|
|
|
|
"code.haedhutner.dev/mvv/LastMUD/internal/ecs"
|
|
|
|
"code.haedhutner.dev/mvv/LastMUD/internal/game/data"
|
|
|
|
"code.haedhutner.dev/mvv/LastMUD/internal/game/logic/command"
|
|
|
|
"code.haedhutner.dev/mvv/LastMUD/internal/game/logic/event"
|
|
|
|
)
|
|
|
|
|
|
|
|
const (
|
|
|
|
EventOffset = 0
|
|
|
|
CommandOffset = 10000
|
|
|
|
)
|
|
|
|
|
|
|
|
func CreateSystems() []*ecs.System {
|
|
|
|
return []*ecs.System{
|
|
|
|
// Event Handlers
|
|
|
|
ecs.CreateSystem("PlayerConnectEventHandler", EventOffset+0, event.CreateHandler(data.EventPlayerConnect, event.HandlePlayerConnect)),
|
2025-06-29 18:21:22 +03:00
|
|
|
ecs.CreateSystem("PlayerDisconnectEventHandler", EventOffset+10, event.CreateHandler(data.EventPlayerDisconnect, event.HandlePlayerDisconnect)),
|
|
|
|
ecs.CreateSystem("PlayerSubmitInputEventHandler", EventOffset+30, event.CreateHandler(data.EventSubmitInput, event.HandleSubmitInput)),
|
|
|
|
ecs.CreateSystem("ParseCommandEventHandler", EventOffset+40, event.CreateHandler(data.EventParseCommand, event.HandleParseCommand)),
|
2025-06-28 11:24:06 +03:00
|
|
|
|
|
|
|
// Command Handlers
|
|
|
|
ecs.CreateSystem("SayCommandHandler", CommandOffset+0, command.CreateHandler(data.CommandSay, command.HandleSay)),
|
2025-06-29 18:21:22 +03:00
|
|
|
ecs.CreateSystem("QuitCommandHandler", CommandOffset+10, command.CreateHandler(data.CommandQuit, command.HandleQuit)),
|
2025-06-30 08:40:15 +03:00
|
|
|
ecs.CreateSystem("RegisterCommandHandler", CommandOffset+60, command.CreateHandler(data.CommandRegister, command.HandleRegister)),
|
2025-06-28 11:24:06 +03:00
|
|
|
}
|
|
|
|
}
|