private static SavConfigClass.Condition ParseSavClassConditionElement(XElement xElement) { // TODO - do something about this disgusting function SavConfigClass.Condition ret = null; XElement conditionElement = xElement.Element(ElementNameSavCondition); if (conditionElement != null) { ret = new SavConfigClass.Condition(); foreach (XElement allowedPawnElement in conditionElement.Elements(ElementNameSavConditionPawn)) { if (allowedPawnElement.Value == SavSlot.MainPawn.ToString()) { ret.AllowedPawns.Add(SavSlot.MainPawn); } else if (allowedPawnElement.Value == SavSlot.Pawn1.ToString()) { ret.AllowedPawns.Add(SavSlot.Pawn1); } else if (allowedPawnElement.Value == SavSlot.Pawn2.ToString()) { ret.AllowedPawns.Add(SavSlot.Pawn2); } } // if no allowed Pawns specified, allow all through if (ret.AllowedPawns.Count == 0) { ret.AllowedPawns.Add(SavSlot.MainPawn); ret.AllowedPawns.Add(SavSlot.Pawn1); ret.AllowedPawns.Add(SavSlot.Pawn2); } ret.IsWriteOnly = conditionElement.Element(ElementNameSavConditionWriteOnly) != null; } return(ret); }
private static SavConfigClass.Condition ParseSavClassConditionElement(XElement xElement) { // TODO - do something about this disgusting function SavConfigClass.Condition ret = null; XElement conditionElement = xElement.Element(ElementNameSavCondition); if (conditionElement != null) { ret = new SavConfigClass.Condition(); foreach (XElement allowedPawnElement in conditionElement.Elements(ElementNameSavConditionPawn)) { if (allowedPawnElement.Value == SavSlot.MainPawn.ToString()) { ret.AllowedPawns.Add(SavSlot.MainPawn); } else if (allowedPawnElement.Value == SavSlot.Pawn1.ToString()) { ret.AllowedPawns.Add(SavSlot.Pawn1); } else if (allowedPawnElement.Value == SavSlot.Pawn2.ToString()) { ret.AllowedPawns.Add(SavSlot.Pawn2); } } // if no allowed Pawns specified, allow all through if (ret.AllowedPawns.Count == 0) { ret.AllowedPawns.Add(SavSlot.MainPawn); ret.AllowedPawns.Add(SavSlot.Pawn1); ret.AllowedPawns.Add(SavSlot.Pawn2); } ret.IsWriteOnly = conditionElement.Element(ElementNameSavConditionWriteOnly) != null; } return ret; }