Exemplo n.º 1
0
    public static PurchaseDisneyStoreItemResponse Purchase(int itemId, int count, OfflineDatabase offlineDatabase, IOfflineDefinitionLoader offlineDefinitions)
    {
        PurchaseDisneyStoreItemResponse purchaseDisneyStoreItemResponse = new PurchaseDisneyStoreItemResponse();
        Reward disneyStoreItemReward = offlineDefinitions.GetDisneyStoreItemReward(itemId, count);

        offlineDefinitions.AddReward(disneyStoreItemReward, purchaseDisneyStoreItemResponse);
        offlineDefinitions.SubtractDisneyStoreItemCost(itemId, count);
        purchaseDisneyStoreItemResponse.assets    = offlineDatabase.Read <ClubPenguin.Net.Offline.PlayerAssets>().Assets;
        purchaseDisneyStoreItemResponse.inventory = new SignedResponse <ClubPenguin.Net.Domain.ConsumableInventory>
        {
            Data = new ClubPenguin.Net.Domain.ConsumableInventory
            {
                inventoryMap = offlineDatabase.Read <ClubPenguin.Net.Offline.ConsumableInventory>().Inventory
            }
        };
        DecorationInventory decorationInventory = new DecorationInventory();

        decorationInventory.items = new List <DecorationInventoryItem>();
        foreach (KeyValuePair <string, int> item in offlineDatabase.Read <DecorationInventoryEntity>().inventory)
        {
            decorationInventory.items.Add(new DecorationInventoryItem
            {
                count        = item.Value,
                decorationId = DecorationId.FromString(item.Key)
            });
        }
        purchaseDisneyStoreItemResponse.decorationInventory = new SignedResponse <DecorationInventory>
        {
            Data = decorationInventory
        };
        return(purchaseDisneyStoreItemResponse);
    }
Exemplo n.º 2
0
 private void awardDisneyStoreItem(PurchaseDisneyStoreItemResponse response)
 {
     Service.Get <EventDispatcher>().DispatchEvent(new RewardServiceEvents.MyAssetsReceived(response.assets));
     Service.Get <EventDispatcher>().DispatchEvent(new ConsumableServiceEvents.InventoryRecieved(response.inventory.Data));
     Service.Get <EventDispatcher>().DispatchEvent(new IglooServiceEvents.DecorationsLoaded(response.decorationInventory.Data));
     clubPenguinClient.GameServer.SetConsumableInventory(response.inventory);
 }
Exemplo n.º 3
0
 protected override void PerformOfflineAction(OfflineDatabase offlineDatabase, IOfflineDefinitionLoader offlineDefinitions)
 {
     Response = Purchase(ItemId, Count, offlineDatabase, offlineDefinitions);
 }