private bool MoveItems()
{
if (MovingItemList.Count > 0)
{
//Logger.DBLog.DebugFormat("Moving Items!");
if (!Delay.Test()) return true;
CacheACDItem thisitem = MovingItemList.FirstOrDefault();
if (Itemsource == ItemSource.Backpack)
{
if (LastStashPoint[0] < 0 && LastStashPoint[1] < 0 && LastStashPage < 0)
{
bool bDidStashSucceed = StashAttempt(thisitem, out LastStashPoint, out LastStashPage);
if (!bDidStashSucceed)
{
Logger.DBLog.DebugFormat("There was an unknown error stashing an item.");
//if (OutOfGame.MuleBehavior) return RunStatus.Success;
}
else
return true;
}
else
{
//We have a valid place to stash.. so lets check if stash page is currently open
if (ZetaDia.Me.Inventory.CurrentStashPage == LastStashPage)
{
//FunkyTownRunPlugin.TownRunStats.StashedItemLog(thisitem);
ZetaDia.Me.Inventory.MoveItem(thisitem.ThisDynamicID, ZetaDia.Me.CommonData.DynamicId, InventorySlot.SharedStash, LastStashPoint[0], LastStashPoint[1]);
LastStashPoint = new[] { -1, -1 };
LastStashPage = -1;
MovingItemList.Remove(thisitem);
if (MovingItemList.Count > 0)
return true;
}
else
{
//Lets switch the current page..
ZetaDia.Me.Inventory.SwitchStashPage(LastStashPage);
return true;
}
}
}
else
{
if (LastStashPoint[0] < 0 && LastStashPoint[1] < 0)
{
bool bDidStashSucceed = BackpackStashAttempt(thisitem, out LastStashPoint);
if (!bDidStashSucceed)
{
Logger.DBLog.DebugFormat("There was an unknown error stashing an item.");
}
else
return true;
}
else
{
ZetaDia.Me.Inventory.MoveItem(thisitem.ThisDynamicID, ZetaDia.Me.CommonData.DynamicId, InventorySlot.BackpackItems, LastStashPoint[0], LastStashPoint[1]);
LastStashPoint = new[] { -1, -1 };
MovingItemList.Remove(thisitem);
if (MovingItemList.Count > 0)
return true;
}
}
}
m_IsDone = true;
return false;
}