所以我开始为我的游戏实现 Steamworks 功能,一切都非常顺利。我设法与 Steam API 同步(我可以取得成就并看到我正在 Steam ACC 上玩游戏)。但是,当我想开始使用他们提供的一些功能时,我的引擎会说:
error LNK2019: unresolved external symbol
任何人都可以帮我解决这个问题吗?我的目标是在排行榜中阅读和保存分数。对我有什么好的建议吗?:D
给我错误的代码示例:
int MyCodeLibrary::TryGetScore()
{
if (SteamAPI_Init())
{
CSteamLeaderboards obj();
obj().FindLeaderboard("test");
obj().DownloadScores();
return 0;
}
else
{
return 0;
}
}
还尝试使用 OnlineSubsystem 像这样进入 Steam:
void MyCodeLibrary::UpdateScoreInt(int score, FName board, APlayerController* PlayerController)
{
OutputDebugStringA("Funkcja jest wywoływana");
if (SteamAPI_Init())
{
OutputDebugStringA("Steam API działa");
ULocalPlayer* LocalPlayer = Cast<ULocalPlayer>(PlayerController->Player);
IOnlineSubsystem* ion = IOnlineSubsystem::Get(FName("Steam"));
TSharedPtr<const FUniqueNetId> UserId = ion->GetIdentityInterface()->GetUniquePlayerId(LocalPlayer->GetControllerId());
ion->GetLeaderboardsInterface();
FOnlineLeaderboardWrite wrt;
wrt.LeaderboardNames.Add(board);
wrt.SetIntStat(TEXT("Score"), score);
if (UserId.IsValid())
{
OutputDebugStringA("Mam UserID");
ion->GetLeaderboardsInterface()->WriteLeaderboards(board, *UserId, wrt);
printf("Odpalony score");
}
}
}