public ManualItemSource(SerializationInfo info, StreamingContext context) : base(info, context)
 {
     MyItem  = Configuration.Instance.RawData.Get(info.GetString("Type"), info.GetString("Name"));
     Results = new RecipeIO[] { new RecipeIO(this, new ItemWithAmount {
             Name = MyItem.Name, Type = MyItem.Type, Amount = 1, Probability = 1
         }) };
 }
 public ManualItemSource(BaseProducibleObject result)
 {
     MyItem  = result;
     Results = new RecipeIO[] { new RecipeIO(this, new ItemWithAmount {
             Name = result.Name, Type = result.Type, Amount = 1, Probability = 1
         }) };
 }
 public ProducibleItem(RecipeIO source, RecipeIO target, BaseProducibleObject item) : base(source.Parent, target.Parent)
 {
     Egress  = source;
     Ingress = target;
     MyItem  = item;
     source.RelatedItems.Add(this);
     target.RelatedItems.Add(this);
 }