1.建立全局数据的访问(Game Singleton Class)(不变)
Game Singleton Class:
* 继承UObject,不能存放组件,而且运行中不可改变变量值;
*Project Settings->Engine->General
4.9 update: This is hidden, use the eye icon -> show advanced settings to see it!
2.在继承BlueprintFunctionLiabrary的C++里建立全部访问的变量和方法。(蓝图创建的不能创建静态成员变量)(可变)
3.GameInstance(可变)
https://wiki.unrealengine.com/Game_Instance,_Custom_Game_Instance_For_Inter-Level_Persistent_Data_Storage //C++存储
https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/Engine/UGameInstance/index.html //C++API
示例:
UMySaveGame*LoadGameInstance=Cast<UMySaveGame>(UGameplayStatics::CreateSaveGameObject(UMySaveGame::StaticClass()));
LoadGameInstance=Cast<UMySaveGame>(UGameplayStatics::LoadGameFromSlot(LoadGameInstance->SaveSlotName, LoadGameInstance->UserIndex));
FString PlayerNameToDisplay = LoadGameInstance->PlayerName;
if (GEngine){
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Yellow, PlayerNameToDisplay);
}