aboutsummaryrefslogtreecommitdiffstats
path: root/src/player.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/player.c')
-rw-r--r--src/player.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/player.c b/src/player.c
index 27a4780..2b72477 100644
--- a/src/player.c
+++ b/src/player.c
@@ -165,6 +165,8 @@ void playerInteractWithEntity(Player* player, WorldUID uid, Game* game,
void playerUpdateSelectedEntity(Player* player, WorldUID uid, Game* game)
{
Entity* entity = &game->world.entities[uid];
+ InteractionChat* chat = &game->interactionChat;
+ InteractionMenu* menu = &game->interactionMenu;
// If the entity can be selected.
if (!playerCanEntityBeSelected(player, *entity))
@@ -184,15 +186,27 @@ void playerUpdateSelectedEntity(Player* player, WorldUID uid, Game* game)
// Draw outline.
DrawBoundingBox(entity->box, player->isInteracting ? YELLOW : PINK);
+ // Number keys for menu selection.
+ int keyPressed = GetKeyPressed();
+
// Handle key presses.
if (IsKeyPressed(game->settings.interactKey))
{
playerInteractWithEntity(player, uid, game, SELECTION_INTERACT);
}
+ else if (IsKeyPressed(game->settings.leaveKey))
+ {
+ playerInteractWithEntity(player, uid, game, SELECTION_LEAVE);
+ }
else if (IsKeyPressed(game->settings.nextMessageKey))
{
playerInteractWithEntity(player, uid, game, SELECTION_NEXT_MESSAGE);
}
+ else if (keyPressed >= KEY_ONE && keyPressed <= KEY_NINE)
+ {
+ playerInteractWithEntity(player, uid, game,
+ SELECTION_MENU_ITEM + (keyPressed - KEY_ONE));
+ }
}
void updatePlayer(Player* player, Game* game)