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() + "'!"); } } }