LastMUD/internal/game/data/player.go

50 lines
809 B
Go
Raw Normal View History

package data
import (
"code.haedhutner.dev/mvv/LastMUD/internal/ecs"
)
type PlayerState = byte
const (
PlayerStateJoining PlayerState = iota
PlayerStatePlaying
PlayerStateLeaving
)
type PlayerStateComponent struct {
State PlayerState
}
func (c PlayerStateComponent) Type() ecs.ComponentType {
return TypePlayerState
}
type InRoomComponent struct {
Room ecs.Entity
}
func (c InRoomComponent) Type() ecs.ComponentType {
return TypeInRoom
}
type IsPlayerComponent struct{}
func (c IsPlayerComponent) Type() ecs.ComponentType {
return TypeIsPlayer
}
2025-06-29 18:21:22 +03:00
type InputComponent struct {
Input rune
}
func (i InputComponent) Type() ecs.ComponentType {
return TypeInput
}
2025-07-01 09:28:32 +03:00
type ExpectingDirectInput struct{}
2025-06-29 18:21:22 +03:00
2025-07-01 09:28:32 +03:00
func (e ExpectingDirectInput) Type() ecs.ComponentType {
return TypeExpectingDirectInput
2025-06-29 18:21:22 +03:00
}