LambdaHack-0.11.0.0: A game engine library for tactical squad ASCII roguelike dungeon crawlers
Safe HaskellNone
LanguageHaskell2010

Game.LambdaHack.Common.Types

Description

Abstract identifiers for the main types in the engine. This is imported by modules that don't need to know the internal structure of the types. As a side effect, this prevents mutual dependencies among modules.

Synopsis

Documentation

data ItemId Source #

A unique identifier of an item in the dungeon.

Instances

Instances details
Enum ItemId Source # 
Instance details

Defined in Game.LambdaHack.Common.Types

Eq ItemId Source # 
Instance details

Defined in Game.LambdaHack.Common.Types

Methods

(==) :: ItemId -> ItemId -> Bool #

(/=) :: ItemId -> ItemId -> Bool #

Ord ItemId Source # 
Instance details

Defined in Game.LambdaHack.Common.Types

Show ItemId Source # 
Instance details

Defined in Game.LambdaHack.Common.Types

Binary ItemId Source # 
Instance details

Defined in Game.LambdaHack.Common.Types

Methods

put :: ItemId -> Put #

get :: Get ItemId #

putList :: [ItemId] -> Put #

data FactionId Source #

A unique identifier of a faction in a game. It's assigned in the order from game mode roster, starting from one. We keep the FactionId and TeamContinuity types separate mostly to let FactionId reflect the order, which influences starting faction positions, etc. We use TeamContinuity for dictionaries containing teams that may or may not be active factions in the current game, while FactionId are used only for factions in the game (in particular, because they vary depending on order in game mode roster, while TeamContinuity are stable).

Instances

Instances details
Enum FactionId Source # 
Instance details

Defined in Game.LambdaHack.Common.Types

Eq FactionId Source # 
Instance details

Defined in Game.LambdaHack.Common.Types

Ord FactionId Source # 
Instance details

Defined in Game.LambdaHack.Common.Types

Show FactionId Source # 
Instance details

Defined in Game.LambdaHack.Common.Types

Binary FactionId Source # 
Instance details

Defined in Game.LambdaHack.Common.Types

Hashable FactionId Source # 
Instance details

Defined in Game.LambdaHack.Common.Types

data LevelId Source #

Abstract level identifiers.

data ActorId Source #

A unique identifier of an actor in the dungeon.

data Container Source #

Item container type.

Constructors

CFloor LevelId Point 
CEmbed LevelId Point 
CActor ActorId CStore 
CTrunk FactionId LevelId Point

for bootstrapping actor bodies

Instances

Instances details
Eq Container Source # 
Instance details

Defined in Game.LambdaHack.Common.Types

Ord Container Source # 
Instance details

Defined in Game.LambdaHack.Common.Types

Show Container Source # 
Instance details

Defined in Game.LambdaHack.Common.Types

Generic Container Source # 
Instance details

Defined in Game.LambdaHack.Common.Types

Associated Types

type Rep Container :: Type -> Type #

Binary Container Source # 
Instance details

Defined in Game.LambdaHack.Common.Types

type Rep Container Source # 
Instance details

Defined in Game.LambdaHack.Common.Types