class GameEngine { bool spawn(const std::string& name, PlayerCtrl* player_ctrl); void despawn(CreatureId creature_id); void move(CreatureId creature_id, Direction direction); void movePath(CreatureId creature_id, std::deque&& path); void cancelMove(CreatureId creature_id); void turn(CreatureId creature_id, Direction direction); void moveItem(CreatureId creature_id, const ItemPosition& from_position, const GamePosition& to_position, int count); void useItem(CreatureId creature_id, const ItemPosition& position, int new_container_id); void closeContainer(CreatureId creature_id, ItemUniqueId item_unique_id); void openParentContainer(CreatureId creature_id, ItemUniqueId item_unique_id, int new_container_id); }; #include #include