Bu özellik Deneysel aşamada olduğundan deneyebilir, geri bildirimde bulunabilir ve neler planladığımızı görebilirsin. Şu anda Listeleme kullanan bir projeyi yayınlayamazsın.
Deneysel aşamada oluşturulan öğeler için geriye dönük uyumluluğu garanti etmediğimizi, bu özelliklere yönelik API’lerin değişebileceğini ve kendi takdirimize bağlı olarak tüm Deneysel özellikleri veya belirli işlevleri kaldırabileceğimizi lütfen unutma. Özellik ile çalışmaya başlamadan önce bilinen sorunlar listesine göz at.
Özel Eşyalar ve Çantalar sistemindeki item_component, eşyanın ne olduğunu ve ne olmadığını tanımlayan bir sınıf haline gelir. Varlığına bir bileşen ekleme hakkında bilgi için Varlıklar ve Bileşenlerle Çalışma kısmına bakabilirsin.
Varlıklar yalnızca item_component bileşenine sahip olduğunda eşya olarak kabul edilir. Varlıklar bu bileşen olmadan çantalara doğru bir şekilde eklenmezler ve birçok Özel Eşya ve Çanta fonksiyonu bozulabilir.
Bir “eşyaya” yönelik referanslar, doğrudan
item_componentiçeren bir varlığı ifade eder.“Çantalara” yönelik referanslar, doğrudan
inventory_componentiçeren bir varlığı ifade eder.
Sınıf Tanımı
Bir varlığa item_component eklemek, varlığı bir eşyaya dönüştürür. Bir çantaya eklenebilir ve çantalar tarafından kullanılabilir demektir. item_component ayrıca aşağıdaki temel işlevselliği içerir:
Kategoriler- Sıralamak ve tanımlamak için kullanılabilecek biritem_categorydizisi.Eşya yığma davranışı:
StackSize- Bu eşyalardan kaç tanesinin üst üste yığıldığını ileten bir tamsayı.MaxStackSize- Yeni bir yığın oluşturulması için kaç eşyanın birleştirilebileceğini veya yığılabileceğini belirtir. Varsayılan olarak maksimum değer (örneğin, sonsuz yığınlama) içermez.Yığın değişikliklerini izlemek için
ChangeStackSizeEventolayına abone ol.MergeableItemComponentClasses,item_component. Bu özellik, dizinin içinde bir alt sınıfı olan herhangi bir varlığın bir yığın oluşturmak için bu varlıkla birleşebilmesine olanak tanır.
Bileşen ayrıca
GetParentInventory()veIsEquipped()gibi yardımcı fonksiyonlar içerir.
Farklı özellikleri ve temel Fortnite oynanışını ortaya çıkaran ek bileşenlerle bir eşyaya daha fazla işlevsellik kazandırılabilir. Kendi özel Verse bileşenlerini de yazabilirsin. Daha fazla bilgi için Verse API’sindeki item_component API referansına göz atabilirsin.
Özel Eşyalar ve Çantalar bileşenlerinin tam listesi için Bileşenler kısmına bakabilirsin.
Örnek
Eşya bileşenleri, varlıklar tarafından eşya olarak işlev görmesi için gereklidir. Prefab editörünün düzenlenebilir özellikleri sınırlıdır, bu nedenle bileşenden en iyi şekilde yararlanmak için Verse kullanman gerekir.
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]
item_component alt sınıfı oluşturularak Eşyalara kolayca işlevsellik eklenebilir. Bu, temel özellikleri değiştirmek veya deneyiminize özel yeni fonksiyonlar ve alanlar eklemek olabilir.
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}
Burada, yukarıda gösterilen custom_item_component bileşenini kullanan bir hazır yapı öğesi görebilirsin. Eşya alınır ve yeni bir eşya yeniden çıkar. Yığınlama davranışını çantada görebilirsin.