public ArrayList<AdvancedLocation> getOccupiedLocation(MapLayer layer) {
        switch (layer) {
            case ActorLevel:
                return this.makeAdvanced(super.getOccupiedLocations(), MapLayer.ActorLevel);
            case FloorLevel:
                return this.makeAdvanced(this.mapGrid.getOccupiedLocations(), MapLayer.FloorLevel);
            case ObjectLevel:
                return this.makeAdvanced(this.objectGrid.getOccupiedLocations(), MapLayer.ObjectLevel);
            default:
                throw new IllegalArgumentException();
        }
    }