커스텀 아이템 및 인벤토리 시스템에서는 item_component가 무엇이 아이템이고 무엇이 아닌지를 정의하는 클래스가 됩니다. entity에 component를 추가하는 방법은 엔티티 및 컴포넌트 작업하기를 참조하세요.
item_component를 가지고 있는 엔티티만 아이템으로 간주됩니다. 이 컴포넌트가 없으면 인벤토리에 엔티티가 제대로 추가되지 않으며, 많은 커스텀 아이템 및 인벤토리 기능이 손상될 수 있습니다.
'아이템'이라고 언급하는 경우 이는 바로
item_component가 있는 엔티티를 의미합니다.'인벤토리'라고 언급하는 경우 이는 바로
inventory_component가 있는 엔티티를 의미합니다.
클래스 정의
엔티티에 item_component를 어태치하면 엔티티가 아이템으로 바뀝니다. 아이템에는 다른 컴포넌트가 다음과 같이 활용할 수 있는 여러 가지 프로퍼티가 있습니다.
인벤토리에서 조작할 수 있습니다.
줍고 드롭할 수 있습니다.
아이템을 장착 및 장착 해제할 수 있습니다.
다양한 기능과 기본 포트나이트 게임플레이를 사용할 수 있게 해 주는 추가 컴포넌트를 사용해 아이템에 더 많은 기능을 부여할 수 있으며, 자체적인 커스텀 Verse 컴포넌트 또한 작성할 수 있습니다. 자세한 내용은 Verse API의 item_component API 레퍼런스를 확인하세요.
전체 커스텀 아이템 및 인벤토리 컴포넌트 목록은 컴포넌트를 참고하세요.
이 프리팹에 item_component를 지정하면 인벤토리에 아이템으로 저장할 수 있습니다.
Verse: 아이템
item_component에는 Verse를 통해 사용할 수 있는 필드, 함수, 이벤트가 있습니다.
GetParentInventory[]- 아이템이 부모 인벤토리를 식별할 수 있습니다.
Categories- 아이템을 정렬하고 특성을 부여하는 데 사용할 수 있는item_category의 배열입니다.Equip(),Unequip(),IsEquipped[]- 아이템의 장착 스테이트를 관리할 수 있는 함수입니다.ChangeEquippedEvent- 이 이벤트는 Equip() 또는 Unequip()이 호출될 때마다 아이템 컴포넌트에서 발동됩니다.ChangeInventoryEvent- 인벤토리 간 이동하는 아이템을 모니터링합니다.
예시
아이템 컴포넌트는 엔티티가 아이템으로 기능하기 위해 필요합니다. 프리팹 에디터에서는 편집 가능한 속성이 제한되어 있으므로, 컴포넌트를 최대한 활용하려면 Verse를 사용해야 합니다.
using { /Fortnite.com/Devices }
using { /Verse.org/SceneGraph }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Itemization }
# This device will create an item for all players when they are added to Playspace. Once the item is created it will pick itself up to the Player's inventory.
item_giver_device := class(creative_device) :
함수 기능은 item_component를 서브 클래스화하여 아이템에 쉽게 추가할 수 있습니다. 서브 클래스화로 기본 프로퍼티를 수정하거나, 경험에 맞는 새 함수와 필드를 추가할 수 있습니다.
using { /UnrealEngine.com/Itemization }
using { /Fortnite.com/Itemization/FortniteItemCategories }
custom_item_component := class(item_component) :
# We could populate the Categories array with Fortnite and/or custom item categories.
#For example here, we are using the Resource item_category type.
Categories<override>:[]item_category = array{Resource}