protected PurchasableVirtualItem(AndroidJavaObject jniVirtualItem)
            : base(jniVirtualItem)
        {
            SoomlaUtils.LogDebug(TAG, "Trying to create PurchasableVirtualItem with itemId: " +
                                jniVirtualItem.Call<string>("getItemId"));
            using(AndroidJavaObject jniPurchaseType = jniVirtualItem.Call<AndroidJavaObject>("getPurchaseType")) {
                System.IntPtr cls = AndroidJNI.FindClass("com/soomla/store/purchaseTypes/PurchaseWithMarket");
                if (AndroidJNI.IsInstanceOf(jniPurchaseType.GetRawObject(), cls)) {
                    using(AndroidJavaObject jniMarketItem = jniPurchaseType.Call<AndroidJavaObject>("getMarketItem")) {
                        MarketItem mi = new MarketItem(jniMarketItem);
                        PurchaseType = new PurchaseWithMarket(mi);
                    }
                } else {
                    cls = AndroidJNI.FindClass("com/soomla/store/purchaseTypes/PurchaseWithVirtualItem");
                    if (AndroidJNI.IsInstanceOf(jniPurchaseType.GetRawObject(), cls)) {
                        string itemId = jniPurchaseType.Call<string>("getTargetItemId");
                        int amount = jniPurchaseType.Call<int>("getAmount");

                        PurchaseType = new PurchaseWithVirtualItem(itemId, amount);
                    } else {
                        SoomlaUtils.LogError(TAG, "Couldn't determine what type of class is the given purchaseType.");
                    }
                }
            }
        }
Exemple #2
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="goodItemId">The itemId of the <c>VirtualGood</c> associated with this upgrade.</param>
 /// <param name="nextItemId">The itemId of the <c>UpgradeVG</c> before, or if this is the first 
 /// 						<c>UpgradeVG</c> in the scale then the value is null.</param>
 /// <param name="prevItemId">The itemId of the <c>UpgradeVG</c> after, or if this is the last
 ///                 		<c>UpgradeVG</c> in the scale then the value is null.</param>
 /// <param name="name">nName.</param>
 /// <param name="description">Description.</param>
 /// <param name="itemId">Item id.</param>
 /// <param name="purchaseType">Purchase type.</param>
 public UpgradeVG(string goodItemId, string nextItemId, string prevItemId, string name, string description, string itemId, PurchaseType purchaseType)
     : base(name, description, itemId, purchaseType)
 {
     this.GoodItemId = goodItemId;
     this.PrevItemId = prevItemId;
     this.NextItemId = nextItemId;
 }
		/// <summary>
		/// Constructor.
		/// </summary>
		/// <param name="name">Name.</param>
		/// <param name="description">Description.</param>
		/// <param name="itemId">Item id.</param>
		/// <param name="purchaseType">Purchase type (the way by which this item is purchased).</param>
		protected PurchasableVirtualItem (string name, string description, string itemId, PurchaseType purchaseType) :
			base(name, description, itemId)
		{
			this.PurchaseType = purchaseType;

			if (this.PurchaseType != null) {
				this.PurchaseType.AssociatedItem = this;
			}
		}
        /// <summary>
        /// Constructor.
        /// Generates an instance of <c>PurchasableVirtualItem</c> from a <c>JSONObject</c>.
        /// </summary>
        /// <param name="jsonItem">JSON object.</param>
        protected PurchasableVirtualItem(JSONObject jsonItem)
            : base(jsonItem)
        {
            JSONObject purchasableObj = (JSONObject)jsonItem[JSONConsts.PURCHASABLE_ITEM];
            string purchaseType = purchasableObj[JSONConsts.PURCHASE_TYPE].str;

            if (purchaseType == JSONConsts.PURCHASE_TYPE_MARKET) {
                JSONObject marketItemObj = (JSONObject)purchasableObj[JSONConsts.PURCHASE_MARKET_ITEM];

                PurchaseType = new PurchaseWithMarket(new MarketItem(marketItemObj));
            } else if (purchaseType == JSONConsts.PURCHASE_TYPE_VI) {
                string itemId = purchasableObj[JSONConsts.PURCHASE_VI_ITEMID].str;
                int amount = System.Convert.ToInt32(((JSONObject)purchasableObj[JSONConsts.PURCHASE_VI_AMOUNT]).n);

                PurchaseType = new PurchaseWithVirtualItem(itemId, amount);
            } else {
                SoomlaUtils.LogError(TAG, "Couldn't determine what type of class is the given purchaseType.");
            }
        }
        /// <summary>
        /// Constructor.
        /// Generates an instance of <c>PurchasableVirtualItem</c> from a <c>JSONObject</c>.
        /// </summary>
        /// <param name="jsonItem">JSON object.</param>
        protected PurchasableVirtualItem(JSONObject jsonItem) :
            base(jsonItem)
        {
            JSONObject purchasableObj = (JSONObject)jsonItem[JSONConsts.PURCHASABLE_ITEM];
            string     purchaseType   = purchasableObj[JSONConsts.PURCHASE_TYPE].str;

            if (purchaseType == JSONConsts.PURCHASE_TYPE_MARKET)
            {
                JSONObject marketItemObj = (JSONObject)purchasableObj[JSONConsts.PURCHASE_MARKET_ITEM];

                PurchaseType = new PurchaseWithMarket(new MarketItem(marketItemObj));
            }
            else if (purchaseType == JSONConsts.PURCHASE_TYPE_VI)
            {
                string itemId = purchasableObj[JSONConsts.PURCHASE_VI_ITEMID].str;
                int    amount = System.Convert.ToInt32(((JSONObject)purchasableObj[JSONConsts.PURCHASE_VI_AMOUNT]).n);

                PurchaseType = new PurchaseWithVirtualItem(itemId, amount);
            }
            else
            {
                SoomlaUtils.LogError(TAG, "Couldn't determine what type of class is the given purchaseType.");
            }
        }
Exemple #6
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="name">Name.</param>
 /// <param name="description">Description.</param>
 /// <param name="itemId">Item identifier.</param>
 /// <param name="purchaseType">Purchase type.</param>
 public SingleUseVG(string name, string description, string itemId, PurchaseType purchaseType)
     : base(name, description, itemId, purchaseType)
 {
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="name">Name.</param>
 /// <param name="description">Description.</param>
 /// <param name="itemId">Item id.</param>
 /// <param name="purchaseType">Purchase type (the way by which this item is purchased).</param>
 protected PurchasableVirtualItem(string name, string description, string itemId, PurchaseType purchaseType)
     : base(name, description, itemId)
 {
     this.PurchaseType = purchaseType;
 }
Exemple #8
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="name">see parent.</param>
 /// <param name="description">see parent.</param>
 /// <param name="itemId">see parent.</param>
 /// <param name="purchaseType">see parent.</param>
 public VirtualGood(string name, string description, string itemId, PurchaseType purchaseType)
     : base(name, description, itemId, purchaseType)
 {
 }
 public SpecialStageLifetimeVg(string name, string description, string itemId, PurchaseType purchaseType, bool canPurchase)
     : base(name, description, itemId, purchaseType)
 {
     this.CanPurchase = canPurchase;
 }
Exemple #10
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="goodItemId">The itemId of the <c>SingleUseVG</c> associated with this pack.</param>
 /// <param name="amount">The number of <c>SingleUseVG</c>S in the pack.</param>
 /// <param name="name">Name.</param>
 /// <param name="description">Description.</param>
 /// <param name="itemId">Item id.</param>
 /// <param name="purchaseType">Purchase type.</param>
 public SingleUsePackVG(string goodItemId, int amount, string name, string description, string itemId, PurchaseType purchaseType)
     : base(name, description, itemId, purchaseType)
 {
     this.GoodItemId = goodItemId;
     this.GoodAmount = amount;
 }
Exemple #11
0
		/// <summary>
		/// Constructor.
		/// </summary>
		/// <param name="goodItemId">The itemId of the <c>SingleUseVG</c> associated with this pack.</param>
		/// <param name="amount">The number of <c>SingleUseVG</c>S in the pack.</param>
		/// <param name="name">Name.</param>
		/// <param name="description">Description.</param>
		/// <param name="itemId">Item id.</param>
		/// <param name="purchaseType">Purchase type.</param>
		public SingleUsePackVG(string goodItemId, int amount, string name, string description, string itemId, PurchaseType purchaseType)
			: base(name, description, itemId, purchaseType)
		{
			this.GoodItemId = goodItemId;
			this.GoodAmount = amount;
		}
Exemple #12
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="equippingModel">Equipping model: <c>LOCAL</c>, <c>GLOBAL</c>, or <c>CATEGORY</c>.</param>
 /// <param name="name">Name.</param>
 /// <param name="Description">description.</param>
 /// <param name="itemId">Item id.</param>
 /// <param name="purchaseType">Purchase type.</param>
 public EquippableVG(EquippingModel equippingModel, string name, string description, string itemId, PurchaseType purchaseType)
     : base(name, description, itemId, purchaseType)
 {
     this.Equipping = equippingModel;
 }
Exemple #13
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="goodItemId">The itemId of the <c>VirtualGood</c> associated with this upgrade.</param>
 /// <param name="nextItemId">The itemId of the <c>UpgradeVG</c> after, or if this is the last
 ///                         <c>UpgradeVG</c> in the scale then the value is null.</param>
 /// <param name="prevItemId">The itemId of the <c>UpgradeVG</c> before, or if this is the first
 ///                         <c>UpgradeVG</c> in the scale then the value is null.</param>
 /// <param name="name">nName.</param>
 /// <param name="description">Description.</param>
 /// <param name="itemId">Item id.</param>
 /// <param name="purchaseType">Purchase type.</param>
 public UpgradeVG(string goodItemId, string nextItemId, string prevItemId, string name, string description, string itemId, PurchaseType purchaseType)
     : base(name, description, itemId, purchaseType)
 {
     this.GoodItemId = goodItemId;
     this.PrevItemId = prevItemId;
     this.NextItemId = nextItemId;
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="name">Name.</param>
 /// <param name="description">Description.</param>
 /// <param name="itemId">Item id.</param>
 /// <param name="purchaseType">Purchase type.</param>
 public NonConsumableItem(string name, string description, string itemId, PurchaseType purchaseType)
     : base(name, description, itemId, purchaseType)
 {
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="name">Name.</param>
 /// <param name="description">Description.</param>
 /// <param name="itemId">Item id.</param>
 /// <param name="purchaseType">Purchase type (the way by which this item is purchased).</param>
 protected PurchasableVirtualItem(string name, string description, string itemId, PurchaseType purchaseType) :
     base(name, description, itemId)
 {
     this.PurchaseType = purchaseType;
 }
		protected PurchasableVirtualItem(SoomlaWpStore.domain.PurchasableVirtualItem wpPurchasableVirtualItem) :
            base(wpPurchasableVirtualItem)
            {
			SoomlaUtils.LogDebug(TAG, "Trying to create PurchasableVirtualItem with itemId: " +
                                wpPurchasableVirtualItem.getItemId());

            SoomlaWpStore.purchasesTypes.PurchaseType wpPT = wpPurchasableVirtualItem.GetPurchaseType();
            if (wpPT is SoomlaWpStore.purchasesTypes.PurchaseWithMarket)
            {
                SoomlaWpStore.purchasesTypes.PurchaseWithMarket wpPWM = (SoomlaWpStore.purchasesTypes.PurchaseWithMarket)wpPT;
                string productId = wpPWM.getMarketItem().getProductId();
                /*MarketItem.Consumable consType = MarketItem.Consumable.CONSUMABLE;
                if(wpPWM.getMarketItem().getManaged() == SoomlaWpStore.domain.MarketItem.Managed.MANAGED)
                {
                    consType = MarketItem.Consumable.CONSUMABLE;
                }
                if (wpPWM.getMarketItem().getManaged() == SoomlaWpStore.domain.MarketItem.Managed.UNMANAGED)
                {
                    consType = MarketItem.Consumable.NONCONSUMABLE;
                }
                if (wpPWM.getMarketItem().getManaged() == SoomlaWpStore.domain.MarketItem.Managed.SUBSCRIPTION)
                {
                    consType = MarketItem.Consumable.SUBSCRIPTION;
                }*/
                double price = wpPWM.getMarketItem().getPrice();

                MarketItem mi = new MarketItem(productId, price);
                mi.MarketTitle = wpPWM.getMarketItem().getMarketTitle();
                mi.MarketPriceAndCurrency = wpPWM.getMarketItem().getMarketPrice();
                mi.MarketDescription = wpPWM.getMarketItem().getMarketDescription();
                if(wpPWM.getMarketItem().isPriceSuccessfullyParsed())
                {
                    mi.MarketPriceMicros = wpPWM.getMarketItem().getMarketPriceMicros();
                    mi.MarketCurrencyCode = wpPWM.getMarketItem().getMarketCurrencyCode();
                }
                PurchaseType = new PurchaseWithMarket(mi);
            }

            if (wpPT is SoomlaWpStore.purchasesTypes.PurchaseWithVirtualItem)
            {
                SoomlaWpStore.purchasesTypes.PurchaseWithVirtualItem wpPWVI = (SoomlaWpStore.purchasesTypes.PurchaseWithVirtualItem)wpPT;
                string itemId = wpPWVI.getTargetItemId();
                int amount = wpPWVI.getAmount();
                PurchaseType = new PurchaseWithVirtualItem(itemId, amount);
            }
        }
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="name">Name.</param>
 /// <param name="description">Description.</param>
 /// <param name="itemId">Item id.</param>
 /// <param name="purchaseType">Purchase type.</param>
 public NonConsumableItem(string name, string description, string itemId, PurchaseType purchaseType)
     : base(name, description, itemId, purchaseType)
 {
 }
Exemple #18
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="equippingModel">Equipping model: <c>LOCAL</c>, <c>GLOBAL</c>, or <c>CATEGORY</c>.</param>
 /// <param name="name">Name.</param>
 /// <param name="Description">description.</param>
 /// <param name="itemId">Item id.</param>
 /// <param name="purchaseType">Purchase type.</param>
 public EquippableVG(EquippingModel equippingModel, string name, string description, string itemId, PurchaseType purchaseType)
     : base(name, description, itemId, purchaseType)
 {
     this.Equipping = equippingModel;
 }
Exemple #19
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="name">Name.</param>
 /// <param name="description">Description.</param>
 /// <param name="itemId">Item id.</param>
 /// <param name="purchaseType">Purchase type.</param>
 public LifetimeVG(string name, string description, string itemId, PurchaseType purchaseType)
     : base(name, description, itemId, purchaseType)
 {
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="name">see parent.</param>
 /// <param name="description">see parent.</param>
 /// <param name="itemId">see parent.</param>
 /// <param name="currencyAmount">The amount of currency in the pack.</param>
 /// <param name="currencyItemId">The item id of the currency associated with this pack.</param>
 /// <param name="purchaseType">see parent.</param>
 public VirtualCurrencyPack(string name, string description, string itemId, int currencyAmount, string currencyItemId, PurchaseType purchaseType)
     : base(name, description, itemId, purchaseType)
 {
     this.CurrencyAmount = currencyAmount;
     this.CurrencyItemId = currencyItemId;
 }
Exemple #21
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="name">Name.</param>
 /// <param name="description">Description.</param>
 /// <param name="itemId">Item identifier.</param>
 /// <param name="purchaseType">Purchase type.</param>
 public SingleUseVG(string name, string description, string itemId, PurchaseType purchaseType)
     : base(name, description, itemId, purchaseType)
 {
 }
Exemple #22
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="name">see parent.</param>
 /// <param name="description">see parent.</param>
 /// <param name="itemId">see parent.</param>
 /// <param name="purchaseType">see parent.</param>
 public VirtualGood(string name, string description, string itemId, PurchaseType purchaseType)
     : base(name, description, itemId, purchaseType)
 {
 }
 /// <summary>
 /// Constructor. 
 /// </summary>
 /// <param name="name">see parent.</param>
 /// <param name="description">see parent.</param>
 /// <param name="itemId">see parent.</param>
 /// <param name="currencyAmount">The amount of currency in the pack.</param>
 /// <param name="currencyItemId">The item id of the currency associated with this pack.</param>
 /// <param name="purchaseType">see parent.</param>
 public VirtualCurrencyPack(string name, string description, string itemId, int currencyAmount, string currencyItemId, PurchaseType purchaseType)
     : base(name, description, itemId, purchaseType)
 {
     this.CurrencyAmount = currencyAmount;
     this.CurrencyItemId = currencyItemId;
 }
Exemple #24
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="name">Name.</param>
 /// <param name="description">Description.</param>
 /// <param name="itemId">Item id.</param>
 /// <param name="purchaseType">Purchase type.</param>
 public LifetimeVG(string name, string description, string itemId, PurchaseType purchaseType)
     : base(name, description, itemId, purchaseType)
 {
 }
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="name">Name.</param>
        /// <param name="description">Description.</param>
        /// <param name="itemId">Item id.</param>
        /// <param name="purchaseType">Purchase type (the way by which this item is purchased).</param>
        protected PurchasableVirtualItem(string name, string description, string itemId, PurchaseType purchaseType) :
            base(name, description, itemId)
        {
            this.PurchaseType = purchaseType;

            if (this.PurchaseType != null)
            {
                this.PurchaseType.AssociatedItem = this;
            }
        }