public CraftInfo( Type t, TextDefinition group, TextDefinition name, double minSkill, double maxSkill, IEnumerable<ResourceInfo> resources, Action<CraftItem> onAdded = null) { TypeOf = t; Group = group.IsNullOrWhiteSpace() ? new TextDefinition("Misc") : group; Name = name.IsNullOrWhiteSpace() ? new TextDefinition("Unknown") : name; MinSkill = Math.Max(0.0, Math.Min(minSkill, maxSkill)); MaxSkill = Math.Max(MinSkill, Math.Max(minSkill, maxSkill)); if (resources != null) { Resources = resources.Where(r => r.TypeOf != null && r.TypeOf.IsEqualOrChildOf<Item>()).ToArray(); } if (Resources.Length == 0) { Resources = DefResources.Dupe(r => new ResourceInfo(r.TypeOf, r.Name, r.Amount)); } _OnAdded = onAdded; }
public ResourceInfo(Type t, TextDefinition name, int amount) { TypeOf = t; Name = name.IsNullOrWhiteSpace() ? new TextDefinition("Unknown") : name; Amount = Math.Max(1, amount); }