public IEquippableItemIcon CreateStubEqpII(bool isBowOrWear, bool isInEqpIG, bool isEquipped) { IEquippableItemIcon eqpII = Substitute.For <IEquippableItemIcon>(); eqpII.IsBowOrWearItemIcon().Returns(isBowOrWear); eqpII.IsInEqpIG().Returns(isInEqpIG); eqpII.IsEquipped().Returns(isEquipped); return(eqpII); }
public void EvaluateHoverability_PickedEqpIIIsNotBowOrWear_CallsEngineBecomeHoverable() { IEquipToolPanelConstArg arg; EqpToolPoolItemsPanel panel = CreateEqpToolPoolItemsPanel(out arg); IEquippableItemIcon pickedEqpII = Substitute.For <IEquippableItemIcon>(); pickedEqpII.IsBowOrWearItemIcon().Returns(false); IPanelTransactionStateEngine engine = arg.panelTransactionStateEngine; panel.EvaluateHoverability(pickedEqpII); engine.Received(1).BecomeHoverable(); }
protected override bool IsEligibleForHover(IItemIcon pickedII) { if (pickedII is IEquippableItemIcon) { IEquippableItemIcon pickedEqpII = pickedII as IEquippableItemIcon; IUIItem pickedItem = pickedEqpII.GetUIItem(); IItemTemplate pickedItemTemp = pickedItem.GetItemTemplate(); if (pickedEqpII.IsBowOrWearItemIcon()) // always swapped { return(true); } else { if (pickedEqpII.IsInEqpIG()) { return(true); //always revertable } else // pickd from pool { if (pickedEqpII.IsEquipped()) //always has the same partially picked item { return(true); } else { IEquipToolIG relevantEqpIG = thisEqpIITAM.GetRelevantEquipIG(pickedEqpII); if (relevantEqpIG.GetSize() == 1) //swap target is deduced { return(true); } else { if (relevantEqpIG.HasSlotSpace()) //add target is deduced { return(true); } else { return(false); } } } } } } else { throw new System.ArgumentException("pickedII must be of type IEquippableItemIcon"); } }
public void CheckAndAddEmptyAddTarget_PickedEqpIIIsBowOrWear_DoesNotCallRelevEqpCGIGAddEmpty() { IEquipToolPanelConstArg arg; EquipToolEquippedItemsPanel eqpItemsPanel = CreateEqpToolEqpItemsPanel(out arg); IEquippableItemIcon pickedEqpII = Substitute.For <IEquippableItemIcon>(); pickedEqpII.IsBowOrWearItemIcon().Returns(true); IEquipToolEquipIG relevEqpCGIG = Substitute.For <IEquipToolEquipIG>(); arg.eqpIITAM.GetRelevantEquippedCarriedGearsIG().Returns(relevEqpCGIG); eqpItemsPanel.CheckAndAddEmptyAddTarget(pickedEqpII); relevEqpCGIG.DidNotReceive().AddEmptyAddTarget(Arg.Any <IEquippableUIItem>()); }
public void CheckAndAddEmptyAddTarget_PickedEqpIIIsNotBowOrWear_RelevEqpCGIGDoesNotHaveSameItem_CallRelevEqpCGIGAddEmpty() { IEquipToolPanelConstArg arg; EquipToolEquippedItemsPanel eqpItemsPanel = CreateEqpToolEqpItemsPanel(out arg); IEquippableItemIcon pickedEqpII = Substitute.For <IEquippableItemIcon>(); pickedEqpII.IsBowOrWearItemIcon().Returns(false); IEquippableUIItem pickedEqpItem = Substitute.For <IEquippableUIItem>(); pickedEqpII.GetEquippableItem().Returns(pickedEqpItem); IEquipToolEquippedCarriedGearsIG relevEqpCGIG = Substitute.For <IEquipToolEquippedCarriedGearsIG>(); arg.eqpIITAM.GetRelevantEquippedCarriedGearsIG().Returns(relevEqpCGIG); relevEqpCGIG.GetItemIconFromItem(pickedEqpItem).Returns((IEquippableItemIcon)null); eqpItemsPanel.CheckAndAddEmptyAddTarget(pickedEqpII); relevEqpCGIG.Received(1).AddEmptyAddTarget(Arg.Any <IEquippableUIItem>()); }
protected override bool IsEligibleForHover(IItemIcon pickedII) { if (pickedII is IEquippableItemIcon) { IEquippableItemIcon pickedEqpII = (IEquippableItemIcon)pickedII; if (pickedEqpII.IsBowOrWearItemIcon()) { return(false); //can't specify target } else { return(true); //always slot out from equipIG } } else { throw new System.ArgumentException("pickedII must be of type IEquippableItemIcon"); } }
bool IsEligibleForEmptyAddTargetAddition(IEquippableItemIcon pickedEqpII) { if (pickedEqpII.IsBowOrWearItemIcon()) { return(false); } else { IEquipToolEquippedCarriedGearsIG eqpCGIG = thisEqpIITAM.GetRelevantEquippedCarriedGearsIG(); IEquippableItemIcon sameItemEqpII = (IEquippableItemIcon)eqpCGIG.GetItemIconFromItem(pickedEqpII.GetEquippableItem()); if (sameItemEqpII != null) { return(false); } else { return(true); } } }