Icon Changer Device for Items
using { /Fortnite.com/Devices }
using { /UnrealEngine.com/JSON }
using { /Verse.org/Simulation }
using { /Verse.org/SceneGraph }
using { /Fortnite.com/Weapons }
using { /Verse.org/Assets }
using { /UnrealEngine.com/Itemization }
change_icon_definition:= struct<concrete>:
@editable
TargetItem : subtype(entity) = TacticalShotgun_BR_CH1S9_Epic
@editable
NewIcon : ?texture = false
icon_changer_device:= class(creative_device):
@editable
Definitions : []change_icon_definition = array{}
OnBegin<override>()<suspends>:void=
GetPlayspace().ParticipantAddedEvent().Subscribe(OnAgentAdded)
for(Agent:GetPlayspace().GetParticipants()):
OnAgentAdded(Agent)
OnAgentAdded(Agent:agent):void=
for(Inv:Agent.FindDescendantComponents(inventory_component)):
Inv.AddItemEvent.Subscribe(OnItemAdded)
OnItemAdded(Result:add_item_result):void=
for(Item:Result.AddedItems):
for(Def:Definitions):
TargetItemClass := concrete_subtype(entity)(Def.TargetItem)
if:
TargetItemClass[Item]
IconComp := Item.GetComponent[icon_component]
NewIcon := Def.NewIcon?
then:
set IconComp.Icon = NewIcon