#pragma once

namespace Events {
  enum GUI {
    START, COMBAT, LOOT, DEATH, STAIRS_UP, STAIRS_DOWN, TRAP,
    COMBAT_START, NO_NEIGHBORS, HP_STATUS,
    ATTACK, BLOCK, EVADE, NEW_RITUAL,
    UPDATE_SPRITE, ENEMY_SPAWN, NOOP,
    LOOT_CLOSE, LOOT_SELECT, INV_SELECT
  };

  struct Combat {
    int player_did;
    int enemy_did;
  };
}

namespace gui {
  enum class Event {
    STARTED=0,
    TICK=1,
    MOVE_FORWARD = 2,
    MOVE_BACK = 3,
    MOVE_LEFT = 4,
    MOVE_RIGHT = 5,
    MAP_OPEN = 6,
    CLOSE = 7,
    ROTATE_LEFT = 8,
    ROTATE_RIGHT = 9,
    ATTACK = 10,
    START_COMBAT = 11,
    STOP_COMBAT = 12,
    STAIRS_DOWN = 13,
    LOOT_OPEN=14,
    LOOT_SELECT=15,
    INV_SELECT=16,
    QUIT = 17,
    MOUSE_CLICK=18,
    MOUSE_MOVE=19,
    MOUSE_DRAG=20,
    MOUSE_DRAG_START=21,
    MOUSE_DROP=22,
    KEY_PRESS=23
  };
}