private bool Internal_PlaceHasTrivia(Place place) { bool evaluation = false; for (int i = 0; i < pointsOfInterestGroup.Count; i++) { PointOfInterestGroup pointOfInterest = pointsOfInterestGroup[i]; for (int j = 0; j < pointOfInterest.placeCollectionCount; j++) { PlaceCollection placeCollection = pointOfInterest.GetPlaceCollection(j); if (placeCollection == null) { continue; } if (placeCollection.GetPlace() == place) { evaluation = place.trivia != null; break; } } } return(evaluation); }
private Place[] Internal_GetAllBuildings() { List <Place> buildings = new List <Place>(); for (int i = 0; i < pointsOfInterestGroup.Count; i++) { PointOfInterestGroup pointOfInterest = pointsOfInterestGroup[i]; for (int j = 0; j < pointOfInterest.placeCollectionCount; j++) { PlaceCollection placeCollection = pointOfInterest.GetPlaceCollection(j); if (placeCollection == null) { continue; } Place place = placeCollection.GetPlace(); if (place != null) { buildings.Add(place); } } } return(buildings.ToArray()); }
private Place Internal_GetBuildingFromRoom(Room room) { Place building = null; for (int i = 0; i < pointsOfInterestGroup.Count; i++) { PointOfInterestGroup pointOfInterest = pointsOfInterestGroup[i]; for (int j = 0; j < pointOfInterest.placeCollectionCount; j++) { PlaceCollection placeCollection = pointOfInterest.GetPlaceCollection(j); if (placeCollection == null) { continue; } if (placeCollection.HasRoom(room)) { building = placeCollection.GetPlace(); break; } } } return(building); }
private Location Internal_GetLocationFromSearch(int index, out PointOfInterest pointOfInterest) { pointOfInterest = null; if (index < 0 || searchKeys == null || searchKeys.Count == 0 || index >= searchKeys.Count) { return(null); } SearchKey searchItem = searchKeys[index]; if (pointsOfInterestGroup == null || pointsOfInterestGroup.Count == 0 || searchItem.poiIndex >= pointsOfInterestGroup.Count || searchItem.poiIndex < 0) { return(null); } PointOfInterestGroup pointOfInterestGroup = pointsOfInterestGroup[searchItem.poiIndex]; if (pointOfInterestGroup == null) { return(null); } pointOfInterest = pointOfInterestGroup.pointOfInterest; PlaceCollection placeCollection = pointOfInterestGroup.GetPlaceCollection(searchItem.placeIndex); Location location = null; if (placeCollection == null) { return(null); } int locationIndex = searchItem.locationIndex - 1; if (locationIndex == -1) { location = placeCollection.GetPlaceLocation(); } else { location = placeCollection.GetRoomLocation(locationIndex); } return(location); }