ControllerComponent {{ currentPage ? currentPage.title : "" }}

ControllerComponent:UltimateControllerComponent

  • Components used to control the interactive use of other players, buildings, monsters, etc

  • Need to be added to the player controller

  • This component is the most frequently used component in this plugin, which can interact with non local player controlled entities as well as local player entities

  • The interaction system, inventory system, etc. are all called by players through this component

Variable

Explain

InteractionColdDownTime

Cooldown time, including cooldown for player initiated commands such as moving items

CommandColdDownTime

Interactive system cooling time

Client Request(Use this function whether connected or not)

Explain

InventorySystem

ServerRequestSyncInventory(UUltimateInventoryComponent* Inventory)

Try to synchronize the inventory system, and call after getting permission or taking over the controller

ServerActorCloseRemoteInventory()

Close inventory license, called when closing inventory UI

ServerTransferToRemoteInventory(UUltimateInventoryComponent* Inventory, FItemUID ItemUID)

Transfer item to another inventory system

ServerTransferFromRemoteInventory(UUltimateInventoryComponent* Inventory, FItemUID ItemUID)

Transfer item from another inventory system to a backpack

ServerTransferAllToRemoteInventory(UUltimateInventoryComponent* Inventory)

Transfer all backpack items to another inventory system,Excluding items in equipment and quick bars

ServerTransferAllFromRemoteInventory(UUltimateInventoryComponent* Inventory)

Transfer all items from another inventory system to the local player's inventory system, including items in the equipment bar and shortcut bar

ServerDropItem(UUltimateInventoryComponent* Inventory, FItemUID ItemUID)

Discarding item from designated inventory systems

ServerDropAllItems(UUltimateInventoryComponent* Inventory)

Discard all items from the designated inventory system

ServerDropMultiItems(UUltimateInventoryComponent* Inventory,const TArray<FItemUID>& ItemUIDs)

Discard multiple designated items from the designated inventory system

ServerSplitItemStack(UUltimateInventoryComponent* Inventory, FItemUID ItemUID, UUltimateInventoryComponent* TargetInventory, FItemUID TargetItemUID, int32 AmountToSplit)

Split item stacks from designated inventory systems

ServerSplitItemAllStack(UUltimateInventoryComponent* Inventory, FItemUID ItemUID)

Splitting items into individual items from a designated inventory system

ServerRepairItem(UUltimateInventoryComponent* Inventory, FItemUID ItemUID)

Repair items from designated inventory systems

ServerCraftItem(UUltimateInventoryComponent* Inventory, FItemUID ItemUID, int32 AmountToCraft)

Craft item from designated inventory systems

ServerRemoveCraftQueue(UUltimateInventoryComponent* Inventory, int32 QueueIndex)

Remove the craft queue from the specified inventory system

ServerEquipItem(UUltimateInventoryComponent* Inventory, FItemUID ItemUID,int32 SlotIndex)

Equip item from designated inventory systems

ServerUnequipItem(UUltimateInventoryComponent* Inventory, FItemUID ItemUID)

Cancel equipment item from the designated inventory system

ServerEnhanceItem(UUltimateInventoryComponent* Inventory, FItemUID ItemUID, int32 AppointIndex)

Enhance item from designated inventory systems

Interaction System

ServerUseCommand(AActor* Actor, int32 CommandID)

Interact with actor, and the interaction system uses this function

Status System

ServerApplyPoint(UUltimateStatusComponent* StatusComponent, EAbilityStatType StatType)

Apply Point,The status system uses this function

Synchronization Function

Explain

ClientStartReceivingActorItems(UUltimateInventoryComponent* Inventory)

client starts synchronizing item

ClientEndReceivingActorItems(UUltimateInventoryComponent* Inventory)

client stops synchronizing item

ClientUpdateInventoryCraftQueue(UUltimateInventoryComponent* Inventory,const TArray<FItemCraftQueueEntry>& NewCraftQueueEntries)

Client refresh craft queue

ClientUpdateItemQuantity(UUltimateInventoryComponent* Inventory, FItemUID ItemUID, int32 Quantity, bool bShowHUDNotification)

Client Refresh Item Quantity

ClientRemoveActorItem(UUltimateInventoryComponent* Inventory, FItemUID ItemUID, bool bShowHUDNotification)

Client removes item

ClientSwapActorItem(UUltimateInventoryComponent* Inventory, FItemUID ItemUID, FItemUID TargetItemUID)

Client Exchange Item

ClientAddActorItem(UUltimateInventoryComponent* Inventory, FItemBuildInfo BuildInfo, EInventorySite InventorySite, bool bShowHUDNotification)

Client Add Item

ClientUpdateItemSlotIndex(UUltimateInventoryComponent* Inventory, FItemUID ItemUID, int32 SlotIndex)

Client refresh item slot position

ClientApplyItemColdDown(UUltimateInventoryComponent* Inventory, FName ColdDownGroup,double DeleteTime)

Client application item cooling

ClientUpdateItemMutableAttribute(FMutableAttributeCache MutableAttributeCache)

client refreshes the variable attributes of the item. This function has no content, but serialization synchronization is applied and deletion is prohibited

ClientShowInventory(UUltimateInventoryComponent* Inventory)

Client open inventory

ClientCloseInventory()

Client close inventory

ClientApplyPointSuccess()

Client applypoint success

Event Delegation Function

Explain

ClientPlayCraftSound

Play and create sound

Success

Add

Remove

ClientShowInventory

Open the inventory UI and call it after obtaining permission

ClientCloseInventory

Close the inventory UI, this function will be called when the distance is too far

PlayApplyPointSound

Play app with added sound

ServerOnlyFunction

Explain

SendClientViewRemoteInventory(UUltimateInventoryComponent* Inventory)

Notify the client that the license has been successfully obtained, and then call

ClientShowInventory,Open Inventory UI

SendClientCloseRemoteInventory()

Notify the client that the inventory has been closed, and then call,ClientCloseInventory,Close Inventory UI

UI Function

Explain

AssignDragType(EItemDragType DragType, UPrimalItem* Item)

Dispatch drag type, call when starting drag, record drag position

GetDragType

Obtain drag type

ApplySlotDrag(UUltimateInventoryComponent* Inventory,UPrimalItem* Item, EItemDragType InDragType, int32 SlotIndex)

Application drag and drop, used to implement drag and drop operations, called when dragging and dropping

{{{ content }}}