【Unity初心者】Unityでネットゲームを作りたい【19】少しだけPlayFabへの書き込みに時間がかかる気がする～PlayFabの仮想通貨に手を出す

https://qiita.com/ysyss5500/items/4aeb23639a8cf3d67376
### 少しだけPlayFabへの書き込みに時間がかかる気がする
書込んだ後、すぐに読み込んで表示とすると、前回のデータが表示されてしまう
ん～読み込み画面でも作って、時間遅らせよう
んで作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3979014/f651641c-8d06-40f5-07a2-368b2d36adef.png)

そして調べて[Unity：一定時間後に別シーンに遷移（移動）する](https://dianxnao.com/unity%EF%BC%9A%E4%B8%80%E5%AE%9A%E6%99%82%E9%96%93%E5%BE%8C%E3%81%AB%E5%88%A5%E3%82%B7%E3%83%BC%E3%83%B3%E3%81%AB%E9%81%B7%E7%A7%BB%EF%BC%88%E7%A7%BB%E5%8B%95%EF%BC%89%E3%81%99%E3%82%8B/)こちらでお勉強
ふむふむ
シーン移動でなくて、シートの表示切替にも使えそう
```
using UnityEngine;
using UnityEngine.SceneManagement;//シーン移動出ないからこれは不必要

public class ToScene2 : MonoBehaviour
{
    private float step_time;    // 経過時間カウント用
    public GameObject Panel;
    public GameObject Panel1;

    // Use this for initialization
    void Start()
    {
        step_time = 0.0f;       // 経過時間初期化
    }

    // Update is called once per frame
    void Update()
    {
        // 経過時間をカウント
        step_time += Time.deltaTime;

        // 3秒後に画面遷移
        if (step_time >= 3.0f)
        {
            Panel.SetActive(false);
            Invoke("Hhhh", 0.2f);
        }
    }
    void Hhhh()
    {
        Panel1.SetActive(true);
    }
}
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3979014/09a25a7f-95ed-682d-ddd2-a300e98c639d.png)
ここに必要なパネルをぶち込んで

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3979014/36a2ae4a-c9cf-e285-3091-cc6dfd23138b.png)

無事、３秒後？に書込み中画面消えて一覧画面表示成功！

これってゲーム起動時に使えそうだな
タイトル画面出して、PlayFabログインをそこで実行、んでメイン画面表示
のがカッコよさげ
データ量少ないから、すぐに画面移動しちゃう他のローディング画面より今はこっちのが使い勝手よさげだね

しかしいつになっても
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3979014/effa95ac-268c-957b-46ca-1fdb3ce8f15c.png)
が消えない
___
そろそろ色々出来てきたので
### PlayFabの仮想通貨に手を出す
お金と体力をPlayFabの仮想通貨で管理したい
[Unity+PlayFabで仮想通貨(ゲーム内通貨)を管理【Unity】【PlayFab】](https://kan-kikuchi.hatenablog.com/entry/PlayFab_Currencies)今回こちらでお勉強

早速コピペ　　　案の定動かんｗ

ん～こうやってみよう
```
    private void Start()
    {
        GetUserInventory();
    }
```
これ付け加えてみました
したら
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3979014/4a2bb8eb-93e8-c19d-5189-1a5f892da1ed.png)

おおおー表示された
ずっと気になってた[【PlayFab】スタミナ機能を実装する方法【仮想通貨を応用する】](https://playfab-master.com/playfab-stamina)これ使えそうだ！
今度導入予定

で、これをどう使うのか

    private void OnSuccess(GetUserInventoryResult result)
    {
        //result.Inventoryがインベントリの情報
        Debug.Log("インベントリの情報の取得に成功");

        //所持している仮想通貨の情報をログで表示
        foreach (var virtualCurrency in result.VirtualCurrency)
        {
            Debug.Log($"仮想通貨 {virtualCurrency.Key} : {virtualCurrency.Value}");
        }
    }

躓くけどクリア
```
string ｃ = virtualCurrency.Value.ToString();
```
だと
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3979014/ecd54939-38e8-e368-8a08-2fd75801abaa.png)

```
string c = virtualCurrency.ToString();
```
これだと
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3979014/dfe8e7a9-9e26-e407-e76a-f87adba6a19b.png)

int なのかな～
いろいろやってみる

これってJsonの型？と思っていろいろやったが失敗ｗ
金をいろんな種類使えるから限定したかったのだが
やり方あるんだろうな..

結局、
```
    private void OnSuccess(GetUserInventoryResult result)
    {
        //result.Inventoryがインベントリの情報
        Debug.Log("インベントリの情報の取得に成功");

        //所持している仮想通貨の情報をログで表示
        foreach (var virtualCurrency in result.VirtualCurrency)
        {
            string kane_moto = virtualCurrency.Key.ToString();
            string kane_s = virtualCurrency.Value.ToString();

            if(kane_moto == "YM")
            {
                kane.text = kane_s;
                int ymint = int.Parse(kane_s);

                PlayerPrefs.SetInt("YM", ymint); //呼び出したら数字になってる

            }
        }
    }
```

こんな感じで、キーがYMだったらYMってお金と判断して、変数入力とした

←前  [【Unity初心者】Unityでネットゲームを作りたい【18】Unityで正常、ビルドしてandroidで異常](https://qiita.com/ysyss5500/items/8452034ea1adc65eb14f)

[【Unity初心者】Unityでネットゲームを作りたい【20】共有のやり方がわからない～ボタンの角を丸くする](https://qiita.com/ysyss5500/items/ed50ff4254b25a7d96c3)　次→

https://qiita.com/ysyss5500/items/4aeb23639a8cf3d67376