ue4 PlayerState跨地圖傳遞變量

切換地圖時,PlayerController默認是不會被銷燬的

而PlayerState默認會被銷燬

如果PlayerState中有變量需要跨地圖傳遞,可以有如下兩種實現方法:

1.可以在PlayerController中增加相應的變量,然後在PlayerController派生類中的InitPlayerState(重載)方法中,獲取該變量,再給PlayerState中對應的變量賦值

2.Playerstate切地圖後會調用CopyProperties,可以在你的PlayerState的派生類中重寫改方法,把上一個地圖中的PlayerState需要的屬性賦值到新地圖的PlayerState中,如下是ShooterGame的代碼,跨地圖傳遞TeamNumber

斷線重連後也會調用CopyProperties方法,可以通過變量bFromPreviousLevel判定PlayerState是否來自於前一個關卡,如果不是,就可以認爲是斷線重連屬性,這樣可以處理玩家掉線後屬性丟失的問題

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章