From 681f1538814786bbb8ca913a865dbb6dd46a597f Mon Sep 17 00:00:00 2001 From: Miroslav Vasilev Date: Fri, 27 Jun 2025 14:58:52 +0300 Subject: [PATCH] Move Commands --- internal/{game => }/command/command.go | 0 internal/{game => }/command/error.go | 0 internal/{game => }/command/parameter.go | 0 internal/{game => }/command/registry.go | 0 internal/{game => }/command/tokenizer.go | 0 internal/game/data/event.go | 120 +---------------------- 6 files changed, 3 insertions(+), 117 deletions(-) rename internal/{game => }/command/command.go (100%) rename internal/{game => }/command/error.go (100%) rename internal/{game => }/command/parameter.go (100%) rename internal/{game => }/command/registry.go (100%) rename internal/{game => }/command/tokenizer.go (100%) diff --git a/internal/game/command/command.go b/internal/command/command.go similarity index 100% rename from internal/game/command/command.go rename to internal/command/command.go diff --git a/internal/game/command/error.go b/internal/command/error.go similarity index 100% rename from internal/game/command/error.go rename to internal/command/error.go diff --git a/internal/game/command/parameter.go b/internal/command/parameter.go similarity index 100% rename from internal/game/command/parameter.go rename to internal/command/parameter.go diff --git a/internal/game/command/registry.go b/internal/command/registry.go similarity index 100% rename from internal/game/command/registry.go rename to internal/command/registry.go diff --git a/internal/game/command/tokenizer.go b/internal/command/tokenizer.go similarity index 100% rename from internal/game/command/tokenizer.go rename to internal/command/tokenizer.go diff --git a/internal/game/data/event.go b/internal/game/data/event.go index b0ea27b..cae45c7 100644 --- a/internal/game/data/event.go +++ b/internal/game/data/event.go @@ -9,9 +9,9 @@ type EventType string const ( EventPlayerConnect EventType = "PlayerConnect" - EventPlayerDisconnect = "PlayerDisconnect" - EventPlayerCommand = "PlayerCommand" - EventPlayerSpeak = "PlayerSpeak" + EventPlayerDisconnect EventType = "PlayerDisconnect" + EventPlayerCommand EventType = "PlayerCommand" + EventPlayerSpeak EventType = "PlayerSpeak" ) type EventComponent struct { @@ -43,117 +43,3 @@ func CreatePlayerCommandEvent(world *ecs.World, connectionId uuid.UUID, command ecs.SetComponent(world, event, ConnectionIdComponent{ConnectionId: connectionId}) ecs.SetComponent(world, event, CommandStringComponent{Command: command}) } - -// type PlayerJoinEvent struct { -// connectionId uuid.UUID -// } - -// func (game *LastMUDGame) CreatePlayerJoinEvent(connId uuid.UUID) *PlayerJoinEvent { -// return &PlayerJoinEvent{ -// connectionId: connId, -// } -// } - -// func (pje *PlayerJoinEvent) Type() event.EventType { -// return PlayerJoin -// } - -// func (pje *PlayerJoinEvent) Handle(game *LastMUDGame, delta time.Duration) { -// p, err := CreatePlayer(game.world.World, pje.connectionId, components.PlayerStateJoining) - -// if err != nil { -// logging.Error("Unabled to create player: ", err) -// } - -// game.enqeueOutput(game.CreateOutput(p.AsUUID(), []byte("Welcome to LastMUD!"))) -// game.enqeueOutput(game.CreateOutput(p.AsUUID(), []byte("Please enter your name:"))) -// } - -// type PlayerLeaveEvent struct { -// connectionId uuid.UUID -// } - -// func (game *LastMUDGame) CreatePlayerLeaveEvent(connId uuid.UUID) *PlayerLeaveEvent { -// return &PlayerLeaveEvent{ -// connectionId: connId, -// } -// } - -// func (ple *PlayerLeaveEvent) Type() event.EventType { -// return PlayerLeave -// } - -// func (ple *PlayerLeaveEvent) Handle(game *LastMUDGame, delta time.Duration) { -// ecs.DeleteEntity(game.world.World, ecs.CreateEntity(ple.connectionId)) -// } - -// type PlayerCommandEvent struct { -// connectionId uuid.UUID -// command *command.CommandContext -// } - -// func (game *LastMUDGame) CreatePlayerCommandEvent(connId uuid.UUID, cmdString string) (event *PlayerCommandEvent, err error) { -// cmdCtx, err := command.CreateCommandContext(game.commandRegistry(), cmdString) - -// if err != nil { -// return nil, err -// } - -// event = &PlayerCommandEvent{ -// connectionId: connId, -// command: cmdCtx, -// } - -// return -// } - -// func (pce *PlayerCommandEvent) Type() event.EventType { -// return PlayerCommand -// } - -// func (pce *PlayerCommandEvent) Handle(game *LastMUDGame, delta time.Duration) { -// if player == nil { -// logging.Error("Unable to handle player command from player with id", pce.connectionId, ": Player does not exist") -// return -// } - -// event := pce.parseCommandIntoEvent(game, player) -// } - -// func (pce *PlayerCommandEvent) parseCommandIntoEvent(game *LastMUDGame, player ecs.Entity) event.Event { -// switch pce.command.Command().Definition().Name() { -// case SayCommand: -// speech, err := pce.command.Command().Parameters()[0].AsString() - -// if err != nil { -// logging.Error("Unable to handle player speech from player with id", pce.connectionId, ": Speech could not be parsed: ", err.Error()) -// return nil -// } - -// return game.CreatePlayerSayEvent(player, speech) -// } - -// return nil -// } - -// type PlayerSayEvent struct { -// player *Player -// speech string -// } - -// func (game *LastMUDGame) CreatePlayerSayEvent(player *Player, speech string) *PlayerSayEvent { -// return &PlayerSayEvent{ -// player: player, -// speech: speech, -// } -// } - -// func (pse *PlayerSayEvent) Type() EventType { -// return PlayerSpeak -// } - -// func (pse *PlayerSayEvent) Handle(game *LastMUDGame, delta time.Duration) { -// for _, p := range pse.player.CurrentRoom().Players() { -// game.enqeueOutput(game.CreateOutput(p.Identity(), []byte(pse.player.id.String()+" in "+pse.player.CurrentRoom().Name+": "+pse.speech))) -// } -// }