private RewardData ReceiveDataToRewardData(FlowNode_ReqPresentList.Api_PresentListExec.JsonItem receiveData) { FriendPresentItemParam presentItemParam = MonoSingleton <GameManager> .Instance.MasterParam.GetFriendPresentItemParam(receiveData.iname); if (presentItemParam == null) { return((RewardData)null); } RewardData rewardData = new RewardData(); rewardData.Exp = 0; rewardData.Coin = 0; rewardData.Gold = 0; rewardData.Stamina = 0; rewardData.MultiCoin = 0; rewardData.KakeraCoin = 0; if (presentItemParam.IsItem()) { rewardData.AddReward(presentItemParam.item, presentItemParam.num * receiveData.num); } else { rewardData.Gold = presentItemParam.zeny * receiveData.num; } return(rewardData); }
public override void Complete(WWWResult www) { if (Network.IsError) { this.m_Node.OnFailed(); } else { DebugMenu.Log("API", this.url + ":" + www.text); WebAPI.JSON_BodyResponse <FlowNode_ReqPresentList.Api_PresentListExec.Json> jsonObject = JSONParser.parseJSONObject <WebAPI.JSON_BodyResponse <FlowNode_ReqPresentList.Api_PresentListExec.Json> >(www.text); DebugUtility.Assert(jsonObject != null, "res == null"); bool flag = false; if (jsonObject.body != null) { if (jsonObject.body.player != null) { MonoSingleton <GameManager> .Instance.Deserialize(jsonObject.body.player); } if (jsonObject.body.items != null) { MonoSingleton <GameManager> .Instance.Deserialize(jsonObject.body.items); } if (jsonObject.body.presents != null) { RewardData rewardData = new RewardData(); for (int index = 0; index < jsonObject.body.presents.Length; ++index) { FlowNode_ReqPresentList.Api_PresentListExec.JsonItem present = jsonObject.body.presents[index]; if (present != null) { RewardData dataToRewardData = this.ReceiveDataToRewardData(present); if (dataToRewardData != null) { rewardData.Exp += dataToRewardData.Exp; rewardData.Stamina += dataToRewardData.Stamina; rewardData.Coin += dataToRewardData.Coin; rewardData.Gold += dataToRewardData.Gold; rewardData.ArenaMedal += dataToRewardData.ArenaMedal; rewardData.MultiCoin += dataToRewardData.MultiCoin; rewardData.KakeraCoin += dataToRewardData.KakeraCoin; using (Dictionary <string, GiftRecieveItemData> .ValueCollection.Enumerator enumerator = dataToRewardData.GiftRecieveItemDataDic.Values.GetEnumerator()) { while (enumerator.MoveNext()) { GiftRecieveItemData current = enumerator.Current; rewardData.AddReward(current); } } flag = true; } } } GlobalVars.LastReward.Set(rewardData); if (rewardData != null) { MonoSingleton <GameManager> .Instance.Player.OnGoldChange(rewardData.Gold); } MonoSingleton <GameManager> .Instance.Player.ValidFriendPresent = false; } } Network.RemoveAPI(); if (flag) { this.Success(); } else { this.Failed(); } } }