private void onAssetsSet(RewardGrantedResponse response) { PlayerAssets assets = response.assets; Service.Get <EventDispatcher>().DispatchEvent(new RewardServiceEvents.MyAssetsReceived(assets)); handleCPResponse(response); }
protected override void PerformOfflineAction(OfflineDatabase offlineDatabase, IOfflineDefinitionLoader offlineDefinitions) { string room = RequestBody.Data.room; ResponseBody = new RewardGrantedResponse(); ClubPenguin.Net.Offline.InRoomRewards value = offlineDatabase.Read <ClubPenguin.Net.Offline.InRoomRewards>(); int index = -1; Dictionary <string, long> dictionary = null; for (int i = 0; i < value.Collected.Count; i++) { if (value.Collected[i].Room == room) { dictionary = value.Collected[i].Collected; index = i; break; } } if (dictionary == null) { dictionary = new Dictionary <string, long>(); value.Collected.Add(new ClubPenguin.Net.Offline.InRoomRewards.InRoomReward { Collected = dictionary, Room = room }); index = value.Collected.Count - 1; } List <string> list = new List <string>(); foreach (KeyValuePair <string, long> item in RequestBody.Data.collected) { if (!dictionary.ContainsKey(item.Key) || dictionary[item.Key] < item.Value) { dictionary[item.Key] = item.Value; list.Add(item.Key); } } value.Collected[index] = new ClubPenguin.Net.Offline.InRoomRewards.InRoomReward { Collected = dictionary, Room = room }; offlineDatabase.Write(value); if (list.Count > 0) { Reward inRoomReward = offlineDefinitions.GetInRoomReward(list); if (!inRoomReward.isEmpty()) { offlineDefinitions.AddReward(inRoomReward, ResponseBody); } } ResponseBody.assets = offlineDatabase.Read <ClubPenguin.Net.Offline.PlayerAssets>().Assets; }
protected override void PerformOfflineAction(OfflineDatabase offlineDatabase, IOfflineDefinitionLoader offlineDefinitions) { ResponseBody = new RewardGrantedResponse(); foreach (KeyValuePair <string, RewardJsonReader> reward in RequestBody.Data.rewards) { if (reward.Key == clubPenguinClient.PlayerSessionId.ToString()) { offlineDefinitions.AddReward(reward.Value.ToReward(), ResponseBody); } } ResponseBody.assets = offlineDatabase.Read <ClubPenguin.Net.Offline.PlayerAssets>().Assets; }
protected override void PerformOfflineAction(OfflineDatabase offlineDatabase, IOfflineDefinitionLoader offlineDefinitions) { ClubPenguin.Net.Offline.PlayerAssets value = offlineDatabase.Read <ClubPenguin.Net.Offline.PlayerAssets>(); int coinsForExchange = offlineDefinitions.GetCoinsForExchange(value.Assets.collectibleCurrencies); value.Assets.coins += coinsForExchange; value.Assets.collectibleCurrencies.Clear(); offlineDatabase.Write(value); ResponseBody = new RewardGrantedResponse { assets = value.Assets }; }
protected override void PerformOfflineAction(OfflineDatabase offlineDatabase, IOfflineDefinitionLoader offlineDefinitions) { ResponseBody = new RewardGrantedResponse(); offlineDefinitions.SetReward(RequestBody, ResponseBody); ResponseBody.assets = offlineDatabase.Read <ClubPenguin.Net.Offline.PlayerAssets>().Assets; }