public override void LoadPawnToSav(PawnData pawn, XElement xElement, SavSlot savSlot) { int i = 0; foreach (XElement childElement in xElement.Elements()) { if (i >= Keys.Count) { throw new XmlException(string.Format( "An array in the save config is missing a key " + "for the following element: {0}\n" + "Array's first key is: {1}", childElement.ToString(), Keys.Count > 0 ? Keys[0] : "")); } if (Keys[i].Length > 0) { PawnParameter pawnParameter = pawn.GetParameter(Keys[i]); if (pawnParameter != null) { LoadParameterToSav(pawnParameter, childElement); } } ++i; } }
/// <summary> /// Load a Pawn from the .sav file /// </summary> /// <param name="savSlot">The Pawn to load</param> /// <param name="savRoot">The .sav file</param> /// <returns>The loaded Pawn, or null if no Pawn was loaded</returns> public static PawnData LoadPawnSav(SavSlot savSlot, XElement savRoot) { PawnData loadPawn = new PawnData(); savConfigRootClass.LoadSavToPawn(loadPawn, savRoot, savSlot); return(loadPawn); }
public override void LoadSavToPawn(PawnData pawn, XElement xElement, SavSlot savSlot) { if (isName) { LoadSavNameToPawn(pawn, xElement); return; } PawnParameter pawnParameter = pawn.GetOrAddParameter(Key); pawnParameter.Value = xElement.GetParsedValueAttribute(); }
public override void LoadPawnToSav(PawnData pawn, XElement xElement, SavSlot savSlot) { if (isName) { LoadPawnNameToSav(pawn, xElement); return; } PawnParameter pawnParameter = pawn.GetParameter(Key); if (pawnParameter != null) { LoadParameterToSav(pawnParameter, xElement); } }
public override void LoadSavToPawn(PawnData pawn, XElement xElement, SavSlot savSlot) { int i = 0; foreach (XElement childElement in xElement.Elements()) { if (i >= Classes.Count) { throw new XmlException(string.Format( "Class array {0} in save config is missing a child class", Name)); } Classes[i].LoadSavToPawn(pawn, childElement, savSlot); ++i; } }
public override void LoadSavToPawn(PawnData pawn, XElement xElement, SavSlot savSlot) { // only proceed with the write if there is no condition // or if the condition allows reading for the current Pawn if (ParseCondition == null || (ParseCondition.AllowedPawns.Contains(savSlot) && !ParseCondition.IsWriteOnly)) { int i = 0; foreach (XElement childXElement in xElement.Elements()) { if (i == Children.Count) { return; } if (childXElement.GetNameAttribute() == Children[i].Name) { Children[i].LoadSavToPawn(pawn, childXElement, savSlot); ++i; } } } }
public override void LoadSavToPawn(PawnData pawn, XElement xElement, SavSlot savSlot) { int i = 0; foreach (XElement childElement in xElement.Elements()) { if (i >= Keys.Count) { throw new XmlException(string.Format( "Array {0} in save config is missing a child class", Name)); } if (Keys[i].Length > 0) { PawnParameter pawnParameter = pawn.GetOrAddParameter(Keys[i]); if (pawnParameter != null) { pawnParameter.Value = childElement.GetParsedValueAttribute(); } } ++i; } }
public abstract void LoadSavToPawn(PawnData pawn, XElement xElement, SavSlot savSlot);
public abstract void LoadPawnToSav(PawnData pawn, XElement xElement, SavSlot savSlot);
/// <summary> /// Save a Pawn to the .sav file /// </summary> /// <param name="pawn">The Pawn to save</param> /// <param name="savSlot">The Pawn to save to</param> /// <param name="savRoot">The loaded .sav file</param> public static void SavePawnSav(PawnData pawn, SavSlot savSlot, XElement savRoot) { savConfigRootClass.LoadPawnToSav(pawn, savRoot, savSlot); }
/// <summary> /// Load a Pawn from the .sav file /// </summary> /// <param name="savSlot">The Pawn to load</param> /// <param name="savRoot">The .sav file</param> /// <returns>The loaded Pawn, or null if no Pawn was loaded</returns> public static PawnData LoadPawnSav(SavSlot savSlot, XElement savRoot) { PawnData loadPawn = new PawnData(); savConfigRootClass.LoadSavToPawn(loadPawn, savRoot, savSlot); return loadPawn; }