예제 #1
0
 public void Add(AtmosGas gas, double moles)
 {
     if (mix.Keys.Contains(gas))
     {
         //not a new gas!
         mix[gas] += moles;
     }
     else
     {
         //a new gas!
         mix.Add(gas, moles);
     }
 }
예제 #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            //what gas is selected?

            if (Gas.list.ContainsKey(GasPicker.Text))
            {
                AtmosGas selectedGas = Gas.list[GasPicker.Text];

                //add whatever gas we have selected.
                canister.AddGas(selectedGas, (double)GasAmount.Value);
            }
            else
            {
                //whoops.
            }
            UpdateDisplay();
        }
예제 #3
0
 public void Remove(AtmosGas gas, double moles)
 {
     if (mix.Keys.Contains(gas))
     {
         //not a new gas!
         mix[gas] -= moles;
         if (mix[gas] < 0)
         {
             //remove gas, it's extraneous.
             mix.Remove(gas);
         }
     }
     else
     {
         //what gas?
         //Should this fail silently or throw an error?
     }
 }
예제 #4
0
 public void RemoveGas(AtmosGas gas, double moles)
 {
     mix.Remove(gas, moles);
     pressure = EvalPressure();
 }
예제 #5
0
 public void AddGas(AtmosGas gas, double moles)
 {
     mix.Add(gas, moles);
     pressure = EvalPressure();
 }