/// <summary> /// Checks if string make up a valid game state /// </summary> /// <param name="pc">Player character string</param> /// <param name="inventory">Inventory string</param> /// <param name="itemCatalogue">Item catalogue string</param> /// <param name="usedEvents">used events string</param> /// <param name="currentEvent">current events string</param> /// <param name="eventCatalogue">event catalogue string</param> /// <param name="discovered">discovered string</param> /// <param name="discoveryCatalogue">discovered catalogue string</param> /// <param name="visitedLocs">visisted locations string</param> /// <param name="unvisitedLocs">unvisited locations string</param> /// <param name="currLoc">current location string</param> /// <param name="currSLoc">current sublocation string</param> /// <returns>If game state is valid</returns> public static bool IsValidGameState(String pc, String inventory, String itemCatalogue, String usedEvents, String currentEvent, String eventCatalogue, String discovered, String discoveryCatalogue, String visitedLocs, String unvisitedLocs, String currLoc, String currSLoc) { int currID, currSub; bool valid = true; valid &= PCModel.IsValidPCModel(pc, inventory, itemCatalogue); valid &= EventModel.IsValidCatalogue(eventCatalogue); if (currentEvent != "") { valid &= EventModel.IsValidCurrentEvent(currentEvent); } valid &= EventModel.IsValidUsedEvents(usedEvents); valid &= DiscoveryModel.IsValidDiscoveryCatalogue(discoveryCatalogue); valid &= DiscoveryModel.IsValidDiscovered(discovered); valid &= LocationModel.IsValidUnvisitedLocations(unvisitedLocs); valid &= LocationModel.IsValidVisitedLocations(visitedLocs); valid &= int.TryParse(currLoc, out currID); valid &= int.TryParse(currSLoc, out currSub); return(valid); }