Example #1
0
		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;
		}
Example #2
0
		public ResourceInfo(Type t, TextDefinition name, int amount)
		{
			TypeOf = t;
			Name = name.IsNullOrWhiteSpace() ? new TextDefinition("Unknown") : name;
			Amount = Math.Max(1, amount);
		}