public Template( string name, string notes = null, IDictionary <SkillName, double> skills = null, IDictionary <StatType, int> stats = null) { UID = new TemplateSerial(name); Name = name ?? "Template"; Notes = notes ?? String.Empty; Skills = skills != null ? new Dictionary <SkillName, double>(skills) : new Dictionary <SkillName, double>(); Stats = stats != null ? new Dictionary <StatType, int>(stats) : new Dictionary <StatType, int>(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); #region Critical Non-Versioned Values UID = new TemplateSerial(reader); #endregion int version = reader.GetVersion(); switch (version) { case 0: { Name = reader.ReadString(); Notes = reader.ReadString(); Skills = reader.ReadBlockDictionary( () => { var key = reader.ReadFlag <SkillName>(); double val = reader.ReadDouble(); return(new KeyValuePair <SkillName, double>(key, val)); }, Skills); Stats = reader.ReadBlockDictionary( () => { var key = reader.ReadFlag <StatType>(); int val = reader.ReadInt(); return(new KeyValuePair <StatType, int>(key, val)); }, Stats); } break; } }
public bool Remove(TemplateSerial uid) { return(Remove(Find(uid))); }
public Template this[TemplateSerial uid] { get { return(Find(uid)); } }
public bool TryFind(TemplateSerial uid, out Template template) { return((template = Find(uid)) != null); }
public Template Find(TemplateSerial uid) { return(uid != null?Entries.Find(template => template.UID == uid) : null); }
public bool Contains(TemplateSerial uid) { return(Find(uid) != null); }
public bool TryFind(TemplateSerial uid, out Template template) { return(Templates.TryFind(uid, out template)); }
public Template Find(TemplateSerial uid) { return(Templates.Find(uid)); }
public bool Contains(TemplateSerial uid) { return(Templates.Contains(uid)); }
public bool Remove(TemplateSerial uid) { Template template; return(TryFind(uid, out template) && Remove(template)); }
public static Template FindTemplate(TemplateSerial uid) { Template template = null; return(Templates.Values.Any(profile => profile.TryFind(uid, out template)) ? template : null); }