public static void CheckIfInTheRange(float i_Value, float i_UpperBound) { bool maxLevel = false; ValueOutOfRangeException.MaxValue = i_UpperBound; ValueOutOfRangeException.MinValue = 0; if (i_Value == i_UpperBound) { maxLevel = true; if (ValueOutOfRangeException.LowerBoundRelationIsInvalid(i_Value, maxLevel)) { throw new ValueOutOfRangeException(); } } else { if (ValueOutOfRangeException.IsNotInTheScope(i_Value, maxLevel)) { throw new ValueOutOfRangeException(); } } }
public static void RefillIfNotOverflowOrNegativeInput(ref float i_CurrentLevel, float i_ValueToAdd, float i_MaxLevel) { bool mustBePositive = true; if (ValueOutOfRangeException.LowerBoundRelationIsInvalid(i_ValueToAdd, mustBePositive) == true) { throw new ValueOutOfRangeException();//Add an appropriate message } float refill = i_CurrentLevel + i_ValueToAdd; CheckIfInTheRange(refill, i_MaxLevel); i_CurrentLevel = refill; }