public void Recharge(eRechargeVital_Single vital)
        {
            int             num           = ao.a(eRechargeVital_SingleToCharFilterType(vital));
            eRechargeStance currentStance = GetCurrentStance();

            if (!this.b.ContainsKey(vital))
            {
                ai.a("Warning: could not find a way to regain vital '" + vital.ToString() + "'!");
            }
            else
            {
                List <uTank2.cRechargeManager.a> list = new List <uTank2.cRechargeManager.a>();
                foreach (uTank2.cRechargeManager.a a in this.b[vital])
                {
                    if (a.d == currentStance)
                    {
                        list.Add(a);
                    }
                }
                int num2 = 0;
                while (num2 < list.Count)
                {
                    uTank2.cRechargeManager.a a2 = list[num2];
                    if (((num2 == (list.Count - 1)) || ((a2.a <= num) && (a2.b >= num))) && a2.c.Activate(vital))
                    {
                        break;
                    }
                    num2++;
                }
                if (num2 == list.Count)
                {
                    ai.a("Warning: could not find a way to regain vital '" + vital.ToString() + "'!");
                }
            }
        }
 internal void a(k A_0)
 {
     this.a();
     if (A_0 != null)
     {
         a0 a = A_0.c() as a0;
         if (a != null)
         {
             foreach (v v in a.d())
             {
                 uTank2.cRechargeManager.a item = new uTank2.cRechargeManager.a {
                     c = this.a(k.b(v[1])),
                     a = k.e(v[2]),
                     b = k.e(v[3]),
                     d = (eRechargeStance)k.e(v[4])
                 };
                 this.b[(eRechargeVital_Single)k.e(v[0])].Add(item);
             }
         }
     }
 }