Я не знаю, как использовать PlayFab в проекте MonoGame. Я прочитал несколько руководств по PlayFab, но все они предназначены для Unity, и я думаю, что невозможно использовать примеры кода Unity с MonoGame, потому что я всегда получаю сообщения об ошибках.
Из этой строки кода.
PlayFabClientAPI.GetUserInventoryAsync(new GetUserInventoryRequest(), OnGetUserInventoryRequest, OnPlayFabInventoryError);
Я получаю сообщения об ошибках здесь:
Error CS1503: Argument 2: cannot convert from 'method group' to 'object'
Error CS1503: Argument 3: cannot convert from 'method group' to 'Dictionary'
Что-то не так с "OnGetUserInventoryRequest, OnPlayFabInventoryError", но я не знаю, что можно изменить.
Что я могу изменить, чтобы этот код работал с MonoGame?
https://api.playfab.com/documentation/client/method/GetUserInventory
Образец кода
public void GetInventoryList()
{
PlayFabClientAPI.GetUserInventoryAsync(new GetUserInventoryRequest(), OnGetUserInventoryRequest, OnPlayFabInventoryError);
}
public void OnGetUserInventoryRequest(GetUserInventoryResult result)
{
Console.WriteLine(result.VirtualCurrency);
}
public void OnPlayFabInventoryError(PlayFabError result)
{
Console.WriteLine("Error");
}
Обновлено:
Я получаю новое сообщение об ошибке, если хочу использовать значение VirtualCurrency. Я не знаю, как получить значение VirtualCurrency, что я делаю не так?
private async Task GetInventoryList()
{
var result = await PlayFabClientAPI.GetUserInventoryAsync(new GetUserInventoryRequest());
int CurrentAmount = result.Result.VirtualCurrency;
}
Error CS0029: Cannot implicitly convert type 'System.Collections.Generic.Dictionary' to 'int'
Я добавил картинку. Вы имеете в виду это с подписью метода для GetUserInventoryAsync?
это довольно очевидно, если вы посмотрите на сигнатуру метода:
GetUserInventoryAsync(GetUserInventoryRequest request, object customData = null, Dictionary<string,string> extraHeaders = null)
последние 2 параметра являются необязательными и не являются методами обратного вызова.
Спасибо. У меня есть еще один вопрос об использовании запроса. Мне нужно значение VirtualCurrency, но я не знаю, как его получить, потому что оно не является целым числом. Как я могу получить значение VirtualCurrency?
VirtualCurrency — это словарь, поэтому вам нужно указать ключ, чтобы получить значение — int CurrentAmount = result.Result.VirtualCurrency["GD"];
Я понятия не имею, каковы допустимые значения для ключа (CurrencyCode), вам нужно это выяснить.
CurrencyCode — это двухбуквенный код моей виртуальной валюты в PlayFab. Спасибо, теперь работает ;)
какова подпись метода для GetUserInventoryAsync?