Use menus for combat and picking up items
Refactor a bunch of stuff around to allow for polymorphically surfacing an EntityChar for all entities, and use this to write a generic `entityMenu` function, which generates a menu from the chars of a list of entities - and use that to fully implement (removing `undefined`) menus for both attacking and picking things up when there are multiple entities on the relevant tile.
This commit is contained in:
parent
7d8ce026a2
commit
8a1235c3dc
26 changed files with 232 additions and 212 deletions
|
|
@ -24,8 +24,7 @@ import Xanthous.Entities.Creature
|
|||
import Xanthous.Entities.Character (Character)
|
||||
import qualified Xanthous.Entities.Character as Character
|
||||
import qualified Xanthous.Entities.RawTypes as Raw
|
||||
import Xanthous.Entities (Entity(..), Brain(..), brainVia)
|
||||
import Xanthous.Game.State (entities, GameState, entityIs)
|
||||
import Xanthous.Game.State
|
||||
import Xanthous.Game.Lenses
|
||||
( Collision(..), entityCollision, collisionAt
|
||||
, character, characterPosition
|
||||
|
|
@ -99,3 +98,4 @@ instance Brain Creature where step = brainVia GormlakBrain
|
|||
instance Entity Creature where
|
||||
blocksVision _ = False
|
||||
description = view $ Creature.creatureType . Raw.description
|
||||
entityChar = view $ Creature.creatureType . char
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue