public void FilterResult(ExecuteCloudScriptResult result) { ClaimedRewards.Clear(); JSONNode jsonResultPF = PlayFabSimpleJson.SerializeObject(result.FunctionResult); jsonResult = JSON.Parse(result.FunctionResult.ToString()); Debug.Log("json result playfab " + jsonResultPF.ToString()); Debug.Log("json result " + jsonResult.ToString()); if ((jsonResult.Value.Equals("null") || result.Error != null)) { status = FMRewardStatus.error; return; } /*{ "status":"success", * "rewards": * [{"achievement_key":"stages_created","reward_Key":"default_co_200","reward_type":"coins","amount":200}] * } */ Debug.Log("function result size" + jsonResult["rewards"].AsArray.Count); for (int i = 0; i < jsonResult["rewards"].AsArray.Count; i++) { string rewardKey = jsonResult["rewards"].AsArray[i]["reward_Key"]; string rewardType = jsonResult["rewards"].AsArray[i]["reward_type"]; FMRewardType rewadType = rewardType.Equals("item") ? FMRewardType.Item : FMRewardType.Currency; int rewardValue = rewadType == FMRewardType.Currency ? jsonResult["rewards"].AsArray[i]["amount"].AsInt : 0; string itemKey = rewadType == FMRewardType.Item ? jsonResult["rewards"].AsArray[i]["item_key"].Value : ""; //var ri = new FMRewardItem(rewardKey, rewardType, rewardValue, rewardValue); //ClaimedRewards.Add(ri); } }
public FMRewardItem(string rewardKey, string rewardType, int amount, string itemKey, FMRewardType type) { this.Key = rewardKey; this.RewardTypeValue = rewardType; this.Amount = amount; this.ItemKey = itemKey; this.Type = type; }
public static void StoreItemsFromJson(GetTitleDataResult res) { Items.Clear(); var allRewardsJson = JSON.Parse(res.Data["fm_rewards"]); for (int i = 0; i < allRewardsJson.Count; i++) { var reward = allRewardsJson[i]; FMRewardType type = reward["item_key"] == null ? FMRewardType.Currency : FMRewardType.Item; int amount = type == FMRewardType.Currency ? reward["amount"].AsInt : 0; string itemKey = type == FMRewardType.Item ? reward["item_key"].Value : ""; var ri = new FMRewardItem(reward["key"], reward["reward_type"], amount, itemKey, type); Items.Add(ri); } }