Exemple #1
0
 /// <summary>
 /// Add a Character both locally and to XML
 /// </summary>
 /// <param name="id"></param>
 /// <param name="name"></param>
 public void addNpc(int id, string name)
 {
     Character c = new Character(name);
     if (npcSecurityCheck(c))
     {
         try
         {
             npcs.Add(id, c);
         }
         catch (ArgumentException e)
         {
             Random r = new Random();
             while (npcs.ContainsKey(id))
             {
                 id = r.Next();
             }
             npcs.Add(id, c);
         }
         addNpcToXML(id, c);
         GUI.Instance.appendToOutput("NPC` added with id:" + id);
     }
     else
     {
         GUI.Instance.appendToOutput("Could not add Npc");
     }
 }
Exemple #2
0
 /// <summary>
 /// Loads npc list from XML
 /// </summary>
 private void loadNpcs()
 {
     xElem = PersistenceManager.initXML(Properties.Settings.Default.npcFile, "npcs");
     npcs = new Dictionary<int, Character>();
     foreach (var npc in xElem.Elements())
     {
         Character c;
         if (npc.Element("isEnemy") == null || (npc.Element("isEnemy")!=null && Int32.Parse(npc.Element("isEnemy").Value) == 0))
         {
             c = new Character();
         }
         else
         {
             c = new Enemy();
             ((Enemy)c).maxHealth = float.Parse(npc.Element("maxHealth").Value);
             ((Enemy)c).dmg = float.Parse(npc.Element("dmg").Value);
         }
         c.name = npc.Element("name").Value;
         npcs.Add(Int32.Parse(npc.Element("id").Value), c);
     }
 }
Exemple #3
0
 /// <summary>
 /// Security check for a character
 /// </summary>
 /// <param name="character"></param>
 private bool npcSecurityCheck(Character character)
 {
     //TO-DO: add security checks for npc properties
     return true;
 }
Exemple #4
0
 /// <summary>
 /// Add a Character to XML
 /// </summary>
 /// <param name="c"></param>
 private void addNpcToXML(int id, Character c)
 {
     xElem.Add(new XElement("npc", new XElement("id", id), new XElement("name", c.name)));
     xElem.Save(Properties.Settings.Default.npcFile);
 }