Server.Items.ArcaneGem.ConsumeCharges C# (CSharp) Méthode

ConsumeCharges() public static méthode

public static ConsumeCharges ( Mobile from, int amount ) : bool
from Mobile
amount int
Résultat bool
		public static bool ConsumeCharges( Mobile from, int amount )
		{
			List<Item> items = from.Items;
			int avail = 0;

			for ( int i = 0; i < items.Count; ++i )
			{
				Item obj = items[i];

				if ( obj is IArcaneEquip )
				{
					IArcaneEquip eq = (IArcaneEquip)obj;

					if ( eq.IsArcane )
						avail += eq.CurArcaneCharges;
				}
			}

			if ( avail < amount )
				return false;

			for ( int i = 0; i < items.Count; ++i )
			{
				Item obj = items[i];

				if ( obj is IArcaneEquip )
				{
					IArcaneEquip eq = (IArcaneEquip)obj;

					if ( eq.IsArcane )
					{
						if ( eq.CurArcaneCharges > amount )
						{
							eq.CurArcaneCharges -= amount;
							break;
						}
						else
						{
							amount -= eq.CurArcaneCharges;
							eq.CurArcaneCharges = 0;
						}
					}
				}
			}

			return true;
		}