控制器组件(UCC) {{ currentPage ? currentPage.title : "" }}

控制器组件:UltimateControllerComponent

  • 用于控制其他玩家或建筑、怪物等交互使用的组件

  • 需添加到玩家控制器下

  • 此组件为本插件中使用最为频繁的组件,可交互非本地玩家控制的实体也可交互本地玩家的实体

  • 交互系统、库存系统等均由玩家藉由该组件进行调用

变量

说明

InteractionColdDownTime

冷却时间,包含移动物品等由玩家发起的命令冷却

CommandColdDownTime

交互系统冷却时间

客户端请求函数(无论是否联网都用此函数)

说明

库存系统

ServerRequestSyncInventory(UUltimateInventoryComponent* Inventory)

尝试同步库存系统,得到许可或接管控制器后调用

ServerActorCloseRemoteInventory()

关闭库存许可,关闭库存UI时调用

ServerTransferToRemoteInventory(UUltimateInventoryComponent* Inventory, FItemUID ItemUID)

传送物品到另外一个库存系统

ServerTransferFromRemoteInventory(UUltimateInventoryComponent* Inventory, FItemUID ItemUID)

从另外一个库存系统中传送物品到背包中

ServerTransferAllToRemoteInventory(UUltimateInventoryComponent* Inventory)

传送所有背包物品到另外一个库存系统中,不包含装备栏与快捷栏中的物品

ServerTransferAllFromRemoteInventory(UUltimateInventoryComponent* Inventory)

传送另外一个库存系统的所有物品到本地玩家的库存系统中,包含装备栏与快捷栏中的物品

ServerDropItem(UUltimateInventoryComponent* Inventory, FItemUID ItemUID)

从指定库存系统中丢弃物品

ServerDropAllItems(UUltimateInventoryComponent* Inventory)

从指定库存系统中丢弃所有物品

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

从指定库存系统中丢弃多个指定物品

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

从指定库存系统中拆分物品堆叠

ServerSplitItemAllStack(UUltimateInventoryComponent* Inventory, FItemUID ItemUID)

从指定库存系统中拆分物品为一个一个的单个物品

ServerRepairItem(UUltimateInventoryComponent* Inventory, FItemUID ItemUID)

从指定库存系统中修理物品

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

从指定库存系统中制作物品

ServerRemoveCraftQueue(UUltimateInventoryComponent* Inventory, int32 QueueIndex)

从指定库存系统中移除制作队列

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

从指定库存系统中装备物品

ServerUnequipItem(UUltimateInventoryComponent* Inventory, FItemUID ItemUID)

从指定库存系统中取消装备物品

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

从指定库存系统中强化物品

交互系统

ServerUseCommand(AActor* Actor, int32 CommandID)

与实体交互,交互系统使用该函数

属性系统

ServerApplyPoint(UUltimateStatusComponent* StatusComponent, EAbilityStatType StatType)

应用属性点,属性系统使用该函数

同步函数

说明

ClientStartReceivingActorItems(UUltimateInventoryComponent* Inventory)

客户端开始同步物品

ClientEndReceivingActorItems(UUltimateInventoryComponent* Inventory)

客户端停止同步物品

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

客户端刷新制作队列

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

客户端刷新物品数量

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

客户端移除物品

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

客户端交换物品

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

客户端添加物品

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

客户端刷新物品插槽位置

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

客户端应用物品冷却

ClientUpdateItemMutableAttribute(FMutableAttributeCache MutableAttributeCache)

客户端刷新物品可变属性,此函数无内容,但应用了序列化同步,禁止删除

ClientShowInventory(UUltimateInventoryComponent* Inventory)

客户端打开库存系统

ClientCloseInventory()

客户端关闭库存系统

ClientApplyPointSuccess()

客户端加点成功

事件委托函数

说明

ClientPlayCraftSound

播放制作音效

Success 成功

Add 添加

Remove 移除

ClientShowInventory

打开库存UI,取得许可后调用

ClientCloseInventory

关闭库存UI,距离过远时会调用此函数

PlayApplyPointSound

播放应用加点音效

服务器专用函数

说明

SendClientViewRemoteInventory(UUltimateInventoryComponent* Inventory)

通知客户端已成功取得许可,随后调用ClientShowInventory打开库存UI

SendClientCloseRemoteInventory()

通知客户端已关闭库存,随后调用ClientCloseInventory关闭库存UI

UI函数

说明

AssignDragType(EItemDragType DragType, UPrimalItem* Item)

分派拖拽类型,开始拖拽时调用,记录拖拽位置

GetDragType

获得拖拽类型

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

应用拖拽,用于实现拖拽操作,拖拽放下时调用

{{{ content }}}