Güzel çalışma olmuş. Çalışmanızı birkaç ekleme ile pekiştirelim.
Öncelikle tek oyunculu bir oyunda bu tür çözümler işe yarar. Bu çalışmaya karşıt bir fikir olarak değil de fazla bilgi olarak söylüyorum.Bu çalışmada karakter, ölmesi gerektiğinde yok edilmeyip, ışınlandığı için; değişken karakter üzerinde tutulabiliyor. Birçok yaklaşımda karakterin yok edilmesi ve tekrar spawn edilmesi gerekir ve bu durumlarda karakter yok edildiği için değişkenin değeri de varsayılan değerine gelir.
PlayerPawn (burada
FPS Character) yok olur/edilir ancak
PlayerController oyuncu bağlı olduğu sürece kalıcıdır. Burada diagramı görüntüleyebilirsiniz:
https://docs.unrealengine.com/latest/images/Gameplay/Framework/QuickReference/GameFramework.jpg
Çok oyunculu oyunlarda tam bu tür durumlar için
UE4 geliştiricileri
PlayerState sınıfını oluşturmuşlar. Yani bu işlemin daha resmi daha doğru yöntemi; karakter öldüğünde de bunu PlayerController üzerinden
PlayerState'e yazmaktır. İster
Dedicated Server olsun, ister
Local Multiplayer olsun; çok oyunculu oyunlarda oyuncu istatistiklerini tutmanın doğru yöntemi böyledir. Hatta daha önemlisi öldüğünde kaç puan eklencek çıkarılacak gibi oyun kurallarının yönetimi yetkili sınıf olan
GameMode sınıfı tarafından yapılmalıdır. Karakter sadece öldüğünü, yok olduğunu
GameMode'a bildirmeli o da kurallara göre
PlayerState ve
GameState değişkenlerini ayarlamalıdır.