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(); }
private PawnTreeParameter CreatePawnTreeParameter(PawnTemplateParameter templateParameter) { PawnTreeParameter ret = templateParameter.CreateTreeParameter(); ret.@PawnParameter = loadedPawnData.GetOrAddParameter(templateParameter.Key); if (nameParameter == null) { nameParameter = ret as PawnTreeParameterName; } return(ret); }
private void LoadSavNameToPawn(PawnData pawn, XElement xElement) { StringBuilder sb = new StringBuilder(); try { foreach (XElement letterElement in xElement.Elements()) { long value = letterElement.GetParsedValueAttribute(); if (value == 0) { break; } sb.Append((char)value); } pawn.GetOrAddParameter(Key).Value = sb.ToString(); } catch (Exception ex) { throw new XmlException(".sav file contained an invalid Pawn name.", 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; } }