示例#1
0
            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;
                }
            }
示例#2
0
        /// <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);
        }
示例#3
0
            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();
            }
示例#4
0
            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);
                }
            }
示例#5
0
            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;
                }
            }
示例#6
0
            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;
                        }
                    }
                }
            }
示例#7
0
            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;
                }
            }
示例#8
0
 public abstract void LoadSavToPawn(PawnData pawn, XElement xElement, SavSlot savSlot);
示例#9
0
 public abstract void LoadPawnToSav(PawnData pawn, XElement xElement, SavSlot savSlot);
示例#10
0
 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;
     }
 }
示例#11
0
            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;
                        }
                    }
                }
            }
示例#12
0
 /// <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);
 }
示例#13
0
 public abstract void LoadSavToPawn(PawnData pawn, XElement xElement, SavSlot savSlot);
示例#14
0
 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;
     }
 }
示例#15
0
            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);
                }
            }
示例#16
0
 /// <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);
 }
示例#17
0
            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();
            }
示例#18
0
 /// <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;
 }
示例#19
0
 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;
     }
 }
示例#20
0
 public abstract void LoadPawnToSav(PawnData pawn, XElement xElement, SavSlot savSlot);