public LogicDeliverableBundle CreateBundle()
        {
            LogicDeliverableBundle bundle = new LogicDeliverableBundle();

            if (this.m_buildingData != null)
            {
                for (int i = 0; i < this.m_buildingData.Size(); i++)
                {
                    LogicData data = this.m_buildingData[i];

                    int buildingLevel = this.m_buildingLevel[i];
                    int buildingCount = this.m_buildingNumber[i];

                    switch (data.GetDataType())
                    {
                    case LogicDataType.BUILDING:
                        LogicDeliverableBuilding deliverableBuilding = new LogicDeliverableBuilding();

                        deliverableBuilding.SetBuildingData((LogicBuildingData)data);
                        deliverableBuilding.SetBuildingLevel(buildingLevel);
                        deliverableBuilding.SetBuildingCount(buildingCount);

                        bundle.AddDeliverable(deliverableBuilding);

                        break;

                    case LogicDataType.DECO:
                        LogicDeliverableDecoration deliverableDecoration = new LogicDeliverableDecoration();
                        deliverableDecoration.SetDecorationData((LogicDecoData)data);
                        bundle.AddDeliverable(deliverableDecoration);

                        break;
                    }
                }
            }

            for (int i = 0; i < this.m_resourceData.Size(); i++)
            {
                if (this.m_resourceAmountFromTownHallCSV)
                {
                    LogicDeliverableScaledMultiplier deliverableScaledMultiplier = new LogicDeliverableScaledMultiplier();

                    deliverableScaledMultiplier.SetScaledResourceData(this.m_resourceData[i]);
                    deliverableScaledMultiplier.SetScaledResourceMultiplier(this.m_townHallResourceMultiplier);

                    bundle.AddDeliverable(deliverableScaledMultiplier);
                }
                else
                {
                    LogicDeliverableResource deliverableResource = new LogicDeliverableResource();

                    deliverableResource.SetResourceData(this.m_resourceData[i]);
                    deliverableResource.SetResourceAmount(this.m_resourceCount[i]);

                    bundle.AddDeliverable(deliverableResource);
                }
            }

            if (this.m_redPackage)
            {
                LogicDeliverableSpecial deliverableSpecial = new LogicDeliverableSpecial();
                deliverableSpecial.SetId(0);
                bundle.AddDeliverable(deliverableSpecial);
            }

            if (this.m_giftGems > 0)
            {
                LogicDeliverableGift     deliverableGift     = new LogicDeliverableGift();
                LogicDeliverableResource deliverableResource = new LogicDeliverableResource();

                deliverableGift.SetGiftLimit(this.m_giftUsers);
                deliverableResource.SetResourceData(LogicDataTables.GetDiamondsData());
                deliverableResource.SetResourceAmount(this.m_giftGems);

                bundle.AddDeliverable(deliverableGift);
                bundle.AddDeliverable(deliverableResource);
            }

            return(bundle);
        }
 public virtual void DeliverableAllianceGift(LogicDeliverableGift deliverableGift)
 {
 }