public void AddReagent(Reagent reagent, int amount) { if(amount >= 0) { if(amount > Capacity - CurrentFluidAmt) { amount = Capacity - CurrentFluidAmt; } else { // Couldn't put any in! Maybe tell user. } int reagentAmount = GetReagentAmount(reagent); if(reagentAmount > 0) { CurrentReagents[reagent] += amount; CurrentFluidAmt += amount; } else { CurrentReagents.Add(reagent, amount); CurrentFluidAmt += amount; } } }
public int GetReagentAmount(Reagent reagent) { if(CurrentReagents.ContainsKey(reagent)) { return CurrentReagents[reagent]; } return 0; }
public void RemoveReagent(Reagent reagent, int amount) { if (amount >= 0) { int reagentAmount = GetReagentAmount(reagent); if (reagentAmount > 0) { if(amount > reagentAmount) { amount = reagentAmount; } CurrentReagents[reagent] -= amount; CurrentFluidAmt -= amount; if (CurrentReagents[reagent] <= 0) { CurrentReagents.Remove(reagent); } } } }