Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Creature ¶
type Creature interface { GetPos() tnet.Position SetPos(tnet.Position) error GetID() CreatureID GetName() string GetDir() things.CreatureDirection // TODO: move to tnet? or move tnet.Position to things? SetDir(things.CreatureDirection) error GetServerType() uint16 GetOutfitColors() [4]things.OutfitColor }
Creature represents a creature in the game world. A creature is a player, a monster, an NPC, etc.
type CreatureID ¶
type CreatureID uint32
type MapDataSource ¶
type MapDataSource interface { GetMapTile(x, y uint16, floor uint8) (MapTile, error) GetCreatureByIDBytes(id [4]byte) (Creature, error) GetCreatureByID(CreatureID) (Creature, error) AddCreature(creature Creature) error RemoveCreatureByID(CreatureID) error GetAmbientLight() (ambientColor dat.DatasetColor, ambientLevel uint8) // This might not belong in this interface: it's useful for renderer, but how would we combine multiple backing data sources and the fact this is really gameworld-wide? It might belong in gameworld instead. Private_And_Temp__DefaultPlayerSpawnPoint(CreatureID) tnet.Position }
MapDataSource is an interface for a data source that provides map data. It can be used to get map tiles, creatures, etc. via locally loaded files, or using an RPC call to a remote tile server, etc.
type MapItem ¶
MapItem is an interface for an item on a map tile. An item is anything that can be placed on a map tile, such as a tree, a rock, a corpse, etc.
type MapTile ¶
type MapTile interface { GetItem(idx int) (MapItem, error) AddCreature(creature Creature) error GetCreature(idx int) (Creature, error) RemoveCreature(Creature) error }
MapTile is an interface for a map tile. A map tile is a single tile on the map grid. It contains a list of items and creatures that are on that tile.
type MapTileEventSubscriber ¶
type MapTileEventSubscriber interface { }
MapTileEventSubscriber is an interface for an object that can subscribe to events that occur on a map tile. This is important so the game server can be notified either locally or over an RPC call when a creature moves, its health is updated, or an item is added or removed or updated, etc.