Пример #1
0
    /// <summary>
    /// 購入通信成功時
    /// </summary>
    public static void OnSuccessBuyApi(BuyResponseData response, Action <UserShopData> onCompleted)
    {
        //購入後のユーザーデータの更新
        UserData userData = UserData.Get();

        userData.Set(response.tUsers);
        userData.Set(response.tGem);

        //入手したアイテムの情報を更新
        if (response.tCannonBattery != null)
        {
            for (int i = 0; i < response.tCannonBattery.Length; ++i)
            {
                userData.AddItem(ItemType.Battery, response.tCannonBattery[i].itemId, 1);
            }
        }
        if (response.tCannonBarrel != null)
        {
            for (int i = 0; i < response.tCannonBarrel.Length; ++i)
            {
                userData.AddItem(ItemType.Barrel, response.tCannonBarrel[i].itemId, 1);
            }
        }
        if (response.tCannonBullet != null)
        {
            for (int i = 0; i < response.tCannonBullet.Length; ++i)
            {
                userData.AddItem(ItemType.Bullet, response.tCannonBullet[i].itemId, 1);
            }
        }
        if (response.tGear != null)
        {
            for (int i = 0; i < response.tGear.Length; ++i)
            {
                userData.AddItem(ItemType.Gear, response.tGear[i].gearId, 1);
            }
        }
        if (response.tItem != null)
        {
            for (int i = 0; i < response.tItem.Length; i++)
            {
                userData.SetItem(response.tItem[i]);
            }
        }

        HomeScene.isMaxPossession = response.isMaxPossession;

        //通信完了
        onCompleted?.Invoke(response.tShop);
    }
Пример #2
0
    /// <summary>
    /// 補償取得通信
    /// </summary>
    public static void CallVipRewardGetApi(uint vipLevel, Action onCompleted)
    {
        var request = new SharkWebRequest <VipRewardGetResponseData>("vip/rewardGet");

        request.SetRequestHeader("AccessToken", UserData.Get().hash);

        request.SetRequestParameter(new Dictionary <string, object>
        {
            { "vipLevel", vipLevel }
        });

        request.onSuccess = (response) =>
        {
            UserData userData = UserData.Get();

            // アイテム更新
            foreach (var add in response.mVipReward)
            {
                userData.AddItem((ItemType)add.itemType, add.itemId, add.itemNum);
            }

            //ジェムとコインを反映
            if (response.tGem != null)
            {
                userData.Set(response.tGem);
            }
            if (response.tUsers != null)
            {
                userData.Set(response.tUsers);
                SharedUI.Instance.header.SetInfo(userData);
            }

            onCompleted?.Invoke();
        };
        request.Send();
    }