private static bool ParseEffectDescription(PgItemEffectCollection effectDescriptionList, string effectDescription, string parsedFile, string parsedKey) { PgItemEffect ItemEffect; if (effectDescription.StartsWith("{") && effectDescription.EndsWith("}")) { string EffectString = effectDescription.Substring(1, effectDescription.Length - 2); if (!ParseItemEffectAttribute(EffectString, parsedFile, parsedKey, out ItemEffect)) { return(Program.ReportFailure(parsedFile, parsedKey, $"Invalid attribute format '{EffectString}'")); } } else if (effectDescription.Contains("{") || effectDescription.Contains("}")) { return(Program.ReportFailure(parsedFile, parsedKey, $"Invalid attribute format '{effectDescription}'")); } else { ItemEffect = new PgItemEffectSimple() { Description = effectDescription } }; ParsingContext.AddSuplementaryObject(ItemEffect); effectDescriptionList.Add(ItemEffect); return(true); }
public static bool ParseEffectDescriptionList(PgItemEffectCollection effectDescriptionList, object value, string parsedFile, string parsedKey) { if (!(value is List <object> ObjectList)) { return(Program.ReportFailure($"Value '{value}' was expected to be a list")); } foreach (object Item in ObjectList) { if (!(Item is string EffectDescription)) { return(Program.ReportFailure($"Value '{Item}' was expected to be a string")); } if (!ParseEffectDescription(effectDescriptionList, EffectDescription, parsedFile, parsedKey)) { return(false); } } return(true); }