2025-06-27 21:36:15 +03:00
|
|
|
package systems
|
|
|
|
|
|
|
|
import (
|
|
|
|
"code.haedhutner.dev/mvv/LastMUD/internal/ecs"
|
|
|
|
"code.haedhutner.dev/mvv/LastMUD/internal/game/data"
|
|
|
|
)
|
|
|
|
|
|
|
|
type SystemPriorityOffset = int
|
|
|
|
|
|
|
|
const (
|
|
|
|
EventOffset = 0
|
2025-06-28 01:04:18 +03:00
|
|
|
CommandOffset = 10000
|
2025-06-27 21:36:15 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
func CreateSystems() []*ecs.System {
|
|
|
|
return []*ecs.System{
|
|
|
|
ecs.CreateSystem("PlayerConnectEventHandler", EventOffset+0, CreateEventHandler(data.EventPlayerConnect, handlePlayerConnectEvent)),
|
|
|
|
ecs.CreateSystem("PlayerDisconnectEventHandler", EventOffset+1, CreateEventHandler(data.EventPlayerDisconnect, handlePlayerDisconnectEvent)),
|
|
|
|
ecs.CreateSystem("PlayerCommandEventHandler", EventOffset+2, CreateEventHandler(data.EventPlayerCommand, handlePlayerCommandEvent)),
|
|
|
|
ecs.CreateSystem("ParseCommandEventHandler", EventOffset+4, CreateEventHandler(data.EventParseCommand, parseCommand)),
|
|
|
|
ecs.CreateSystem("SayCommandHandler", CommandOffset+0, CreateCommandHandler(data.CommandSay, handleSayCommand)),
|
|
|
|
ecs.CreateSystem("QuitCommandHandler", CommandOffset+1, CreateCommandHandler(data.CommandQuit, handleQuitCommand)),
|
|
|
|
}
|
|
|
|
}
|