Item View for List

epicever

Member
Is it possible to have an Select Indicator for the default drop prefab on the Character Inventory Bridge? It says that it needs an Inventory Item Pickup component but that does not have a Select Indicator.
 
Is it possible to have an Select Indicator for the default drop prefab on the Character Inventory Bridge? It says that it needs an Inventory Item Pickup component but that does not have a Select Indicator.

Ok, so the console error message was incorrect. I was using the inventory item pickup component with the item object component and it gave me the console error saying that the drop prefab needed the inventory item pickup component. Same console error for when using item pickup component and the inventory component.
 
You are right, the default drop prefab for the integration does not have a select indicator. I will implement that in the next update, it will require some changes with the UCC interact ability I'm afraid.

Could you send me the full error message you are getting?
There are a lot of different pickup components so it's easy to confuse them.

InventoryItemPickup: The Integration pickup which uses the Character Pickup Ability
InventoryPickup: The UIS inventory pickup, allows you to pickup multiple items in one go using the Inventory Interactor system.
ItemPickup (UCC): The default UCC item pickup, should not be used when using the UCC/UIS integration
ItemPickup (UIS): The UIS Item Pickup uses an ItemObject so it allows you to pickup a single item with any amount.

The integration allows you to only drop items using an Inventory pickup, whether it is the "InventoryPickup" or the "InventoryItemPickup".

So you could try the InventoryPickup if you want to be able to show the ItemView when the item is close enough to be interacted with using the Inventory Interactor.

If you want to use the Character Pickup ability instead though the work around would be to write a custom component that lets you know when the character is inside the Trigger on the pickup. Then you can show the ItemView with the item(s) inside the inventory.

I hope that make sense, and hopefully implementing the Character interact ability to know when an object can be interacted with won't take too long
 
Occurred when I was using the InventoryItemPickup.cs with ItemObject.cs

Code:
Error: The prefab DefaultCharacterInventoryDropPrefab 1 must have an InventoryItemPickup component.
UnityEngine.Debug:LogError (object)
Opsive.UltimateCharacterController.Integrations.UltimateInventorySystem.BridgeDropProcessing:SpawnDropItem (Opsive.UltimateInventorySystem.Core.DataStructures.ItemInfo) (at Assets/Opsive/UltimateCharacterController/Integrations/UltimateInventorySystem/Scripts/BridgeDropProcessing.cs:119)
Opsive.UltimateCharacterController.Integrations.UltimateInventorySystem.BridgeDropProcessing:DropInventoryPickup (Opsive.UltimateInventorySystem.Core.DataStructures.ItemInfo,bool,bool) (at Assets/Opsive/UltimateCharacterController/Integrations/UltimateInventorySystem/Scripts/BridgeDropProcessing.cs:76)
Opsive.UltimateCharacterController.Integrations.UltimateInventorySystem.CharacterInventoryBridge:DropItem (Opsive.UltimateInventorySystem.Core.DataStructures.ItemInfo,bool,bool) (at Assets/Opsive/UltimateCharacterController/Integrations/UltimateInventorySystem/Scripts/CharacterInventoryBridge.cs:253)
Opsive.UltimateCharacterController.Integrations.UltimateInventorySystem.CharacterQuantityDropItemAction:InvokeWithAwaitedValue (Opsive.UltimateInventorySystem.Core.DataStructures.ItemInfo,Opsive.UltimateInventorySystem.ItemActions.ItemUser,int) (at Assets/Opsive/UltimateCharacterController/Integrations/UltimateInventorySystem/Scripts/InventoryItemActions/CharacterQuantityDropItemAction.cs:87)
Opsive.UltimateCharacterController.Integrations.UltimateInventorySystem.CharacterQuantityDropItemAction:InvokeActionInternal (Opsive.UltimateInventorySystem.Core.DataStructures.ItemInfo,Opsive.UltimateInventorySystem.ItemActions.ItemUser) (at Assets/Opsive/UltimateCharacterController/Integrations/UltimateInventorySystem/Scripts/InventoryItemActions/CharacterQuantityDropItemAction.cs:55)
Opsive.UltimateInventorySystem.ItemActions.ItemAction:InvokeAction (Opsive.UltimateInventorySystem.Core.DataStructures.ItemInfo,Opsive.UltimateInventorySystem.ItemActions.ItemUser) (at Assets/Opsive/UltimateInventorySystem/Scripts/ItemActions/ItemAction.cs:97)
Opsive.UltimateInventorySystem.UI.Panels.ActionPanels.ItemActionPanel:InvokeActionInternal (int) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/ActionPanels/ItemActionPanel.cs:66)
Opsive.UltimateInventorySystem.UI.Panels.ActionPanels.ActionPanel`1<Opsive.UltimateInventorySystem.ItemActions.ItemAction>:InvokeAction (int) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/ActionPanels/ActionPanel.cs:119)
Opsive.UltimateInventorySystem.UI.Panels.ActionPanels.ActionPanel`1/<>c__DisplayClass13_0<Opsive.UltimateInventorySystem.ItemActions.ItemAction>:<OpenInternal>b__0 () (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/ActionPanels/ActionPanel.cs:69)
Opsive.UltimateInventorySystem.UI.CompoundElements.ActionButton:Press () (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/CompoundElements/ActionButton.cs:72)
Opsive.UltimateInventorySystem.UI.CompoundElements.ActionButton:OnPointerClick (UnityEngine.EventSystems.PointerEventData) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/CompoundElements/ActionButton.cs:123)
UnityEngine.EventSystems.EventSystem:Update () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/EventSystem.cs:385)
 
Last edited:
I see I changed the error to:
Error: The prefab {InventoryItemPickupPrefab.name} must have an Inventory component.

The DropItem function in the character inventory bridge returns the Inventory component of the pickup being spawned such that you can add more items to it if necessary.
So I cannot really use an ItemObject pickup since it doesn't use an Inventory... well I technically I could but then it could cause issues down the line, so I prefer setting that a constraint.

If you can come up with a good reason not to use an inventory pickup then I could reconsider it.


As for your other question I believe there is a component called "BillboardFX" in the UIS Demo scripts. Feel free to use it or copy paste that script
1628586375160.png
 
Top