Ejemplo n.º 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;
                }
            }
Ejemplo n.º 2
0
        public PawnParameter GetParameter(string key)
        {
            PawnParameter ret = null;

            ParameterDict.TryGetValue(key, out ret);
            return(ret);
        }
Ejemplo n.º 3
0
 public PawnParameter GetOrAddParameter(string key)
 {
     PawnParameter ret = null;
     if (!ParameterDict.TryGetValue(key, out ret))
     {
         ret = new PawnParameter();
         ParameterDict.Add(key, ret);
     }
     return ret;
 }
Ejemplo n.º 4
0
        public PawnParameter GetOrAddParameter(string key)
        {
            PawnParameter ret = null;

            if (!ParameterDict.TryGetValue(key, out ret))
            {
                ret = new PawnParameter();
                ParameterDict.Add(key, ret);
            }
            return(ret);
        }
Ejemplo n.º 5
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();
            }
Ejemplo n.º 6
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);
                }
            }
Ejemplo n.º 7
0
 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);
     }
 }
Ejemplo n.º 8
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;
                }
            }