private static void TransferReagents(ReagentContainer source, ReagentContainer target, float amount) { source.NormalizeReagents(); target.NormalizeReagents(); if (target.AvailableVolume < amount) { amount = target.AvailableVolume; } foreach (var reagent in source.ReagentList) { float coef = reagent.Amount / source.Amount; float toTransfer = amount * coef; reagent.Amount -= toTransfer; Reagent copy = new Reagent(reagent.Name, toTransfer); target.AddReagent(copy); } source.NormalizeReagents(); target.NormalizeReagents(); }
public virtual float AddReagent(Reagent reagent) { throw new NotImplementedException(); }