Esta función se encuentra en una fase experimental, de modo que puedes probarla, dejarnos tus comentarios y conocer nuestros planes. En este momento, no puedes publicar proyectos que utilicen el equipamiento de elementos.
Ten en cuenta que no podemos garantizar la retrocompatibilidad para los recursos creados en la fase experimental. Las API para estas funciones están sujetas a cambios, y podríamos retirar funciones experimentales en su totalidad o funcionalidades específicas conforme lo consideremos. Consulta la lista de problemas conocidos antes de comenzar a trabajar con esta función.
En el sistema de inventarios y elementos personalizados, un item_component se convierte en una clase que define qué es y qué no es un elemento. Para saber cómo añadir un componente a tu entidad, consulta Cómo trabajar con entidades y componentes.
Las entidades solo se consideran elementos si tienen un item_component. Sin uno, las entidades no se añadirán correctamente a los inventarios, y muchas funcionalidades de inventarios y elementos personalizados es posible que no funcionen.
Las referencias a un “elemento” se refieren directamente a una entidad con un
item_component.Las referencias a “inventarios” se refieren directamente a una entidad con un
inventory_component.
Definición de clase
Al adjuntar un item_component a una entidad, la entidad se convierte en un elemento. Esto significa que puede añadirse a un inventario, y los inventarios lo pueden manipular. El item_component también contiene la siguiente funcionalidad básica:
Categorías- una matriz deitem_categoryque se puede utilizar para ordenar y caracterizar.Comportamiento de acumulación de elementos:
StackSize- un entero que indica cuántos de estos elementos están apilados.MaxStackSize- cuántos elementos se pueden fusionar o apilar antes de que se deba crear una nueva pila. Por defecto, no hay máximo (por ejemplo, apilamiento infinito).Suscríbete a
ChangeStackSizeEventpara supervisar los cambios de la pila.MergeableItemComponentClasseses una matriz que puede contener subclases del elitem_component. Esto permite que cualquier entidad con una subclase dentro de la matriz se fusione con esta entidad para formar una pila.
El componente también contiene funciones auxiliares, como
GetParentInventory()eIsEquipped().
Se le puede dar más funcionalidad a un elemento con componentes adicionales que exponen diferentes características y la jugabilidad básica de Fortnite. También puedes escribir tus propios componentes personalizados de Verse. Para obtener más información, consulta la referencia de la API item_component de la API de Verse.
Consulta Componentes para obtener una lista completa de los componentes de inventarios y elementos personalizados.
Ejemplo
Las entidades requieren que los componentes de elementos funcionen como elementos. El editor de prefabricados tiene propiedades editables limitadas, por lo que para aprovechar al máximo el componente necesitarás usar Verse.
using { /Fortnite.com/Devices }
using { /Verse.org/SceneGraph }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Itemization }
# Helper function that gets the first descendant inventory component from an agent.
# This will be the root inventory.
GetAgentInventory(Agent:agent)<decides><transacts>:inventory_component=
TargetInventory := (for (I : Agent.FindDescendantComponents(inventory_component)) { I })[0]
La funcionalidad se puede añadir fácilmente a los elementos mediante la subclase del item_component. Esto puede ser para modificar las propiedades básicas o para añadir nuevas funciones y campos específicos a tu experiencia.
custom_item_component := class(item_component) :
# We could populate the Categories array with Fortnite and/or custom item categories.
Categories<override>:[]item_category = array{}
# By adding itself to the MergeableItemComponentClasses, it allows entities with this item_component to merge in inventories.
MergeableItemComponentClasses<override>:[]castable_subtype(item_component) = array{custom_item_component}
Aquí puedes ver un elemento prefabricado que usa el custom_item_component que se muestra arriba. El elemento se recoge y reaparece uno nuevo. Puedes ver el comportamiento de apilamiento en el inventario.