public Option(String toParse) { effects = new List <EventEffect>(); String[] optionElements = toParse.Split(';'); if (int.TryParse(optionElements[1], out optionNumber)) { optionText = optionElements[2]; optionResult = optionElements[3]; String[] effectElements = optionElements[4].Split('|'); if (effectElements.Length > 1) { for (int i = 1; i < effectElements.Length; i++) { if (ItemEventEffect.IsValidItemEventEffect(effectElements[i])) { effects.Add(new ItemEventEffect(effectElements[i])); } else if (PREventEffect.IsValidPREventEffect(effectElements[i])) { effects.Add(new PREventEffect(effectElements[i])); } } } } }
/// <summary> /// Checks if the string is a valid option /// </summary> /// <param name="toTest">The string to test</param> /// <returns>If the string is valid</returns> public static bool IsValidOption(String toTest) { int optionNum; String[] optionElements = toTest.Split(';'); if (optionElements[0] != TAG || optionElements.Length != 5) { return(false); } if (!int.TryParse(optionElements[1], out optionNum) || optionNum < 1) { return(false); } String[] effectElements = optionElements[4].Split('|'); if (effectElements.Length > 1) { for (int i = 1; i < effectElements.Length; i++) { if (!ItemEventEffect.IsValidItemEventEffect(effectElements[i]) && !PREventEffect.IsValidPREventEffect(effectElements[i])) { return(false); } } } return(true); }