如何将该Unity代码转换为MonoGame代码?

时间:2019-05-30 15:34:47

标签: c# unity3d xamarin monogame

我不知道如何在MonoGame项目中使用PlayFab。我已经阅读了一些PlayFab教程,但是它们都是针对Unity的,我认为不可能将Monocode示例与MonoGame一起使用,因为我总是会收到错误消息。

从这一行代码开始。

PlayFabClientAPI.GetUserInventoryAsync(new GetUserInventoryRequest(), OnGetUserInventoryRequest, OnPlayFabInventoryError);

我在这里收到错误消息:

  

错误CS1503:参数2:无法从“方法组”转换为   “对象”

     

错误CS1503:参数3:无法从“方法组”转换为   “字典”

“ OnGetUserInventoryRequest,OnPlayFabInventoryError”出了点问题,但我不知道该怎么做。

我可以更改些什么,以便此代码与MonoGame一起使用?

enter image description here

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;
}
  

错误CS0029:无法隐式转换类型   将'System.Collections.Generic.Dictionary'转换为'int'

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您查看方法签名,这将非常明显:

GetUserInventoryAsync(GetUserInventoryRequest request, object customData = null, Dictionary<string,string> extraHeaders = null)

最后2个参数是可选参数,它们不是回调方法