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 |