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; } }
public PawnParameter GetParameter(string key) { PawnParameter ret = null; ParameterDict.TryGetValue(key, out ret); return(ret); }
public PawnParameter GetOrAddParameter(string key) { PawnParameter ret = null; if (!ParameterDict.TryGetValue(key, out ret)) { ret = new PawnParameter(); ParameterDict.Add(key, ret); } return ret; }
public PawnParameter GetOrAddParameter(string key) { PawnParameter ret = null; if (!ParameterDict.TryGetValue(key, out ret)) { ret = new PawnParameter(); ParameterDict.Add(key, ret); } return(ret); }
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); } }
protected static void LoadParameterToSav(PawnParameter parameter, XElement xElement) { try { string parameterString = (parameter.Value.ToInt64()).ToString(); if (parameter.FormatAsFloat) { parameterString += ".000000"; } xElement.GetValueAttribute().Value = parameterString; } catch (Exception ex) { throw new XmlException(string.Format( "Error exporting parameter to .sav file element: {0}.", xElement.ToString()), ex); } }
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; } }