public InapObject(XElement element) { m_Id = element.GetString("id"); m_Name = element.GetString("name"); m_Description = element.GetString("description"); m_Price = element.GetInt("price"); m_Type = (InapObjectType)System.Enum.Parse(typeof(InapObjectType), element.GetString("type")); m_Consumable = element.GetBool("consumable"); m_Tag = element.GetInt("tag"); m_Icon = element.GetString("icon"); m_MailTitle = element.GetString("mail_title"); m_MailBody = element.GetString("mail_body"); m_Available = element.GetBool("available"); m_Detail = element.GetString("detail"); m_Visible = element.GetBool("visible"); m_Data = new Hashtable(); var inputsElement = element.Element("inputs"); if (inputsElement != null) { var dump = inputsElement.Elements("input").Select(ie => { string key = ie.GetString("key"); object val = CommonUtils.ParseValue(ie.GetString("value"), ie.GetString("type")); m_Data.Add(key, val); return(key); }).ToList(); } }
public List <InapObject> Filtered(params InapObjectType[] types) { List <InapObject> filteredList = new List <InapObject>(); if (types == null) { types = new InapObjectType[] { }; } foreach (var kvp in inaps) { if (types.Contains(kvp.Value.type)) { filteredList.Add(kvp.Value); } } filteredList.Sort((first, second) => { return(first.id.CompareTo(second.id)); }); return(filteredList); }
public InapItem(XElement element) { m_Id = element.GetString("id"); m_Name = element.GetString("name"); m_Desc = element.GetString("description"); m_Price = element.GetInt("price"); m_Type = (InapObjectType)Enum.Parse(typeof(InapObjectType), element.GetString("type")); m_Consumable = element.GetBool("consumable"); m_Tag = element.GetInt("tag"); m_Data = new Hashtable(); var inputsElement = element.Element("inputs"); if (inputsElement != null) { inputsElement.Elements("input").Select(ie => { string key = ie.GetString("key"); object val = CommonUtils.ParseValue(ie.GetString("value"), ie.GetString("type")); m_Data.Add(key, val); return(key); }).ToList(); } }