public bool MoveMonster(LevelObject.Monster monster, Vector2Int to) { var cell = GetCellAt(to.x, to.y); if (cell == null) { return(false); } var other = GetMonsterAt(to.x, to.y); if (other != null) { return(false); } Monsters.Remove(monster.Location.x, monster.Location.y); Monsters.AddExisting(to.x, to.y, monster); monster.Location = to; return(true); }