public List <StatDefinition> Get(StatDefinitionCollection id) { if (id == null) { return(null); } List <StatDefinition> definitions; if (_compiled.TryGetValue(id, out definitions)) { return(definitions); } definitions = id.GetDefinitions(); // Append default definitions that haven't already been added var defaults = GetDefaults(); if (defaults != null) { foreach (var statDefinition in defaults) { if (definitions.Contains(statDefinition)) { continue; } definitions.Add(statDefinition); } } _compiled[id] = definitions; return(definitions); }
public static List <StatDefinition> GetDefinitions(StatDefinitionCollection id) { if (id == null) { return(null); } var definitions = id.GetDefinitions(); var defaults = GetDefinitionDefaults(); if (defaults == null) { return(definitions); } foreach (var statDefinition in defaults) { if (definitions.Contains(statDefinition)) { continue; } definitions.Add(statDefinition); } return(definitions); }