private void onAssetsSet(RewardGrantedResponse response)
    {
        PlayerAssets assets = response.assets;

        Service.Get <EventDispatcher>().DispatchEvent(new RewardServiceEvents.MyAssetsReceived(assets));
        handleCPResponse(response);
    }
Example #2
0
        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;
        }
Example #3
0
 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;
 }
Example #4
0
    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;
 }