(30-10-2020, Saat: 23:18)Emirhan Altaş Adlı Kullanıcıdan Alıntı: https://hizliresim.com/zl1nYb
Merhabalar, resimdeki gibi bir envanter sistemi yapmak istiyorum bunun için ne gibi bir yol izlemeliyim? Nasıl yapılacağını bilmiyorum ama muhtemelen Struct, Array, Data Table, Interface kullanarak yapmam gerekecek.
siz olsanız ne gibi bir yol izlerdiniz? bu sistemi yaparken ne gibi şeyleri kullanmam gerekiyor(Data table vb.)? bir kaynak varsa paylaşır mısınız?
Merhaba;
Bu sistemi kurmak için gerçekten tahmin edeceğin gibi bir sürü yol var. Amatör ve basitten profesyonel ve komplekse doğru giden çok fazla çeşitli çalışma şekli var. Bu konuda en iyi bulabileceğin örnek ActionRPG örnek projesi. Basitten ileriye doğru bir kaç yöntem yazayım.
1. Bir class sistemi oluşturursun ve bunlar düzenli bir hiyerarşi içinde olurlar. Mesela base class BaseItem olur. Ondan bir EatableItem, WeoponItem, WearableItem vb. Bundan sonra da uygun class lardan teker teker itemları oluşturabilirsin. Bu sistemi PlayerController da bir TArray de tutup savegame ile HDD e kaydedebilirsin. Orada yazan bilgileri ayrı bir struct yapısı yapıp bu classlarda bilgi havuzu gibi tutabilirsin.
2. Bütün Itemları yukarda ki sistemde yaparsın ama DataAssetlerle bir TArray içerisinde tutarsın. Burda TSoftObjectPtr vb kullanarak tüm itemların tamamen RAM de durmasını engelleyip sadece kullanıldıkları zaman hafıza ya yüklenmelerini vb. şeyleri sağlayabilirsin.
3. Primary Asset Data kullanarak daha sonradan DLC olarak ya da satılabilecek indirilebilecek bir asset olmalarını da sağlayabilirsin.
4. Özel bir assetmanager yaparak bu sistemi yürütecek singleton bir class yapabilirsin.
Bu konuda bulabileceğin en iyi kaynak başta söylediğim gibi ActionRPG örneği. Basit bir sistem istiyorsan youtube ta mutlaka örnekleri vardır. Karmaşık ve tüm fonksiyonları içeren istiyorsan youtube ta olduğunu sanmıyorum. Ben bir parçasını yapmıştım ama ingilizce. Orda da tüm sistemi yapmıyorum.
https://www.youtube.com/watch?v=ogFKVrN6...e=youtu.be
Sanırım nasıl ilerlemek gerektiği konusunda genel bir çerçeve çizdim. Ancak çok basit bir sistem mi istiyorsun ya da hangi özelliklerin olmasını istediğin konusunda emin olamadığım için çok ayrıntıya girmiyorum şimdilik.
Kolay gelsin.