bool Level::landCreature(vector<Position> landing, PCreature creature) { if (landCreature(landing, creature.get())) { model->addCreature(std::move(creature)); return true; } else return false; }
bool Level::landCreature(StairKey key, PCreature creature) { if (landCreature(key, creature.get())) { model->addCreature(std::move(creature)); return true; } else return false; }
Vec2 Level::landCreature(vector<Vec2> landing, PCreature creature) { Vec2 pos = landCreature(landing, creature.get()); model->addCreature(std::move(creature)); return pos; }
Vec2 Level::landCreature(StairDirection direction, StairKey key, PCreature creature) { Vec2 pos = landCreature(direction, key, creature.get()); model->addCreature(std::move(creature)); return pos; }
Vec2 Level::landCreature(StairDirection direction, StairKey key, Creature* creature) { vector<Vec2> landing = landingSquares.at({direction, key}); return landCreature(landing, creature); }
bool Level::landCreature(StairKey key, Creature* creature) { vector<Position> landing = landingSquares.at(key); return landCreature(landing, creature); }