切換地圖時,PlayerController默認是不會被銷燬的
而PlayerState默認會被銷燬
如果PlayerState中有變量需要跨地圖傳遞,可以有如下兩種實現方法:
1.可以在PlayerController中增加相應的變量,然後在PlayerController派生類中的InitPlayerState(重載)方法中,獲取該變量,再給PlayerState中對應的變量賦值
2.Playerstate切地圖後會調用CopyProperties,可以在你的PlayerState的派生類中重寫改方法,把上一個地圖中的PlayerState需要的屬性賦值到新地圖的PlayerState中,如下是ShooterGame的代碼,跨地圖傳遞TeamNumber
斷線重連後也會調用CopyProperties方法,可以通過變量bFromPreviousLevel判定PlayerState是否來自於前一個關卡,如果不是,就可以認爲是斷線重連屬性,這樣可以處理玩家掉線後屬性丟失的問題