private string ReadEventName(string eventString) { string nameString = eventString.Split('_')[2]; return(EventTranslationModel.IsValidName(nameString) ? EventTranslationModel.TranslateEventName(nameString) : nameString); //eventually translate to readable names }
private string ReadEventLocation(string eventString) { string locationString = eventString.Contains("UndyingKing") ? "UndyingKing" : eventString.Split('_')[2]; _location = EventTranslationModel.IsValidLocation(locationString) ? EventTranslationModel.TranslateEventLocation(locationString) : locationString; return(_location); }
private EventModel ParseLine(string line) { line = line.Substring(0, line.Length - 9); //trim bogus characters ending each line if (line.Equals(string.Empty)) { return(new EventModel()); } string[] lineList = line.Split('/'); if (!EventTranslationModel.IsValidZone(lineList[0])) { return(new EventModel()); } if (lineList[1].CompareTo("Templates") == 0) { string subZoneText = lineList[2].Split('.')[0]; _subZone = EventTranslationModel.TranslateEventSubZone(subZoneText.Substring(0, subZoneText.Length - 3)); return(new EventModel()); } return(BuildEvent(lineList)); }
private EventModel BuildEvent(string[] lineList) { EventModel @event = new EventModel(); @event.zone = EventTranslationModel.TranslateEventZone(lineList[0]); @event.subZone = _subZone; @event.eventType = ReadEventType(lineList[2]); @event.location = @event.eventType == EventType.ItemDrop ? _location : @event.eventType == EventType.PointOfInterest ? "Overworld" : ReadEventLocation(lineList[2]); @event.name = ReadEventName(lineList[2]); if (namesEncountered.Contains(@event.name)) { @event.eventType = EventType.Invalid; } else { namesEncountered.Add(@event.name); } return(@event); }