示例#1
0
        protected async Task <bool> ConvertAllItems(
            IEnumerable <BagSlot> bagSlots,
            ushort maxWait)
        {
            foreach (var bagSlot in bagSlots)
            {
                var name = bagSlot.Name;
                Log("Attempting to convert {0}.", name);
                if (bagSlot.Item != null && (bagSlot.Item.Unique || bagSlot.Item.Untradeable))
                {
                    continue;
                }
                var startingId = bagSlot.TrueItemId;
                //Check to make sure the bagslots contents doesn't change
                while (bagSlot.TrueItemId == startingId && bagSlot.Count > 0)
                {
                    var result = await CommonTasks.ConvertToMateria(bagSlot, maxWait);

                    if (result.HasFlag(SpiritbondResult.Success))
                    {
                        continue;
                    }
                    Log("Unable to convert \"{0}\" due to {1}.", name, result);
                    break;
                }
                await Coroutine.Sleep(500);
            }
            return(true);
        }