Exemple #1
0
 protected virtual void ClearNavigationProperties()
 {
     UnitType = null;
     Symbols.Clear();
     Sources.Clear();
     Modifiers.Clear();
 }
 public void OnAfterDeserialize()
 {
     Modifiers.Clear();
     for (int i = 0; i < modifers.Count; i++)
     {
         Modifiers.Add(modifers[i]);
     }
 }
Exemple #3
0
 public FLFunctionElementModifiers(string functionName, string[] modifiers) : base(functionName, modifiers)
 {
     if (functionName == FLKeywords.EntryFunctionKey)
     {
         Modifiers.Clear();
         Modifiers.Add(FLKeywords.NoJumpKeyword);
         Modifiers.Add(FLKeywords.NoCallKeyword);
         Modifiers.Add(FLKeywords.DynamicElementModifier);
     }
 }
 public void RemoveModifiers()
 {
     Modifiers.Clear();
     onChanged();
 }
Exemple #5
0
 public void ClearModifiers()
 {
     Modifiers.Clear();
     SDK_GfxMdfQueue_ClearModifiers(CoreObject);
     UpdateHash64();
 }
Exemple #6
0
        public void Load(string filename = null)
        {
            Console.WriteLine("Loading...");
            XDocument xd = null;

            if (filename == null)
            {
                xd = XDocument.Load(@"saves/save.xml");
            }
            else
            {
                xd = XDocument.Load(@"saves/" + filename + ".xml");
            }
            XElement element = xd.Element("Forest");

            // Loads values and soft values
            XElement valuesElement = XMLUtils.GetElement(element, "Values");

            foreach (XElement valueElement in valuesElement.Elements())
            {
                string name = XMLUtils.GetName(valueElement);
                if (name.StartsWith("sv")) //Soft value
                {
                    SoftValues[name] = double.Parse(valueElement.Value, System.Globalization.NumberFormatInfo.InvariantInfo);
                }
                else
                {
                    Values[XMLUtils.GetName(valueElement)] = double.Parse(valueElement.Value, System.Globalization.NumberFormatInfo.InvariantInfo);
                }
            }

            // Loads skills
            XElement skillsElement = XMLUtils.GetElement(element, "skills");

            foreach (string skill in Statics.skills)
            {
                if (XMLUtils.HasChild(skillsElement, skill))
                {
                    string skillValue = skillsElement.GetString(skill);
                    if (skillValue.Contains(":"))
                    {
                        Xp[skill]           = double.Parse(skillValue.Split(':')[0]);
                        TalentPoints[skill] = int.Parse(skillValue.Split(':')[1]);
                    }
                    else
                    {
                        Xp[skill] = double.Parse(skillValue);
                    }
                }
            }

            // Loads growths
            XElement growthsElement = XMLUtils.GetElement(element, "Growths");

            foreach (Entity g in Entities.Values)
            {
                XElement growthElement = XMLUtils.GetElement(growthsElement, g.Name);
                if (growthElement != null)
                {
                    g.Load(growthElement);
                }
            }

            // Loads doables
            XElement doablesElement = XMLUtils.GetElement(element, "Doables");

            foreach (Doable d in Doables.Values)
            {
                XElement doableElement = XMLUtils.GetElement(doablesElement, d.Name);
                if (doableElement != null)
                {
                    d.Load(doableElement);
                }
            }

            // Loads modifiers TODO: if anything needs modifiers to stay past loads, do something about it then
            Modifiers.Clear();
            XElement modifiersElement = XMLUtils.GetElement(element, "Modifiers");

            foreach (XElement modifierElement in modifiersElement.Elements())
            {
                Modifier m = new Modifier(XMLUtils.GetName(modifierElement));
                m.Load(modifierElement);
                Modifiers[m.Name] = m;
            }

            string path = element.GetString("Path");

            CurBoss = element.GetInt("PathBoss");
            foreach (Path p in Path.paths)
            {
                if (p.Name == path)
                {
                    CurPath = p;
                    Boss    = p.Bosses[CurBoss];
                    break;
                }
            }

            Count = element.GetInt("Count");
            Hp    = element.GetDouble("Hp");
            if (element.HasChild("Mana"))
            {
                Mana = element.GetDouble("Mana");
            }
            OfflineTicks = element.GetInt("OfflineTicks");
            if (element.HasChild("FightingStyle"))
            {
                FightingStyle = element.GetString("FightingStyle");
            }
            if (element.HasChild("LifeCount"))
            {
                LifeCount = element.GetInt("LifeCount");
            }
        }