private void equipPriv(EquippableVG good, bool equip, bool notify) { string itemId = good.ItemId; string key = keyGoodEquipped(itemId); if (equip) { PlayerPrefs.SetString(key, "yes"); if (notify) { var eventJSON = new JSONObject(); eventJSON.AddField("itemId", good.ItemId); StoreEvents.Instance.onGoodEquipped(eventJSON.print()); } } else { PlayerPrefs.DeleteKey(key); if (notify) { var eventJSON = new JSONObject(); eventJSON.AddField("itemId", good.ItemId); StoreEvents.Instance.onGoodUnequipped(eventJSON.print()); } } }
/// <summary> /// Retrieves the current upgrade for the given virtual good. /// </summary> /// <param name="good">the virtual good to retrieve upgrade for.</param> /// <return>the current upgrade for the given virtual good.</return> public static bool IsEquipped(EquippableVG good) { SoomlaUtils.LogDebug(TAG, "checking if virtual good with itemId: " + good.ItemId + " is equipped."); return(instance._isEquipped(good)); }
protected override bool _isEquipped(EquippableVG good) { bool equipped; SoomlaWpStore.domain.virtualGoods.EquippableVG evg = (SoomlaWpStore.domain.virtualGoods.EquippableVG)SoomlaWpStore.data.StoreInfo.getVirtualItem(good.ItemId); equipped = SoomlaWpStore.data.StorageManager.getVirtualGoodsStorage().isEquipped(evg); return equipped; }
/// <summary> /// Checks if the virtual good with the given <c>goodItemId</c> is currently equipped. /// </summary> /// <param name="goodItemId">Id of the virtual good who we want to know if is equipped.</param> /// <returns>True if the virtual good is equipped, false otherwise.</returns> /// <exception cref="VirtualItemNotFoundException">Thrown if the item is not found.</exception> public static bool IsVirtualGoodEquipped(string goodItemId) { SoomlaUtils.LogDebug(TAG, "Checking if " + goodItemId + " is equipped"); EquippableVG good = (EquippableVG)StoreInfo.GetItemByItemId(goodItemId); return(VirtualGoodsStorage.IsEquipped(good));; }
/// <summary> /// Unequips the virtual good with the given <c>goodItemId</c>. Unequipping means that the /// user decides to stop using the virtual good he/she is currently using. /// For more details and examples <see cref="com.soomla.store.domain.virtualGoods.EquippableVG"/>. /// </summary> /// <param name="goodItemId">Id of the good to be unequipped.</param> /// <exception cref="VirtualItemNotFoundException">Thrown if the item is not found.</exception> public static void UnEquipVirtualGood(string goodItemId) { SoomlaUtils.LogDebug(TAG, "UnEquipping: " + goodItemId); EquippableVG good = (EquippableVG)StoreInfo.GetItemByItemId(goodItemId); good.Unequip(); }
/// <summary> /// Handles an <c>onGoodUnequipped</c> event, which is fired when a specific <c>EquippableVG</c> /// has been unequipped. /// </summary> /// <param name="message">Message that contains information about the <c>EquippableVG</c>.</param> public void onGoodUnequipped(string message) { SoomlaUtils.LogDebug(TAG, "SOOMLA/UNITY onVirtualGoodUnEquipped:" + message); EquippableVG vg = (EquippableVG)StoreInfo.GetItemByItemId(message); StoreEvents.OnGoodUnEquipped(vg); }
protected override bool _isEquipped(EquippableVG good) { bool res = false; int err = vgStorage_IsEquipped(good.ItemId, out res); IOS_ErrorCodes.CheckAndThrowException(err); return(res); }
public void PushEventOnGoodUnequipped(EquippableVG good) { var eventJSON = new JSONObject(); eventJSON.AddField("itemId", good.ItemId); _pushEventGoodUnequipped(eventJSON.print()); }
protected override bool _isEquipped(EquippableVG good) { bool equipped; SoomlaWpStore.domain.virtualGoods.EquippableVG evg = (SoomlaWpStore.domain.virtualGoods.EquippableVG)SoomlaWpStore.data.StoreInfo.getVirtualItem(good.ItemId); equipped = SoomlaWpStore.data.StorageManager.getVirtualGoodsStorage().isEquipped(evg); return(equipped); }
protected override void _unequip(EquippableVG good, bool notify) { AndroidJNI.PushLocalFrame(100); using(AndroidJavaClass jniStorageManager = new AndroidJavaClass("com.soomla.store.data.StorageManager")) { using(AndroidJavaObject jniVGStorage = jniStorageManager.CallStatic<AndroidJavaObject>("getVirtualGoodsStorage")) { jniVGStorage.Call("unequip", good.ItemId, notify); } } AndroidJNI.PopLocalFrame(IntPtr.Zero); }
/// <summary> /// Equips the current <code>EquippableVG</code>. /// The equipping is done according to the equipping model ('GLOBAL', 'CATEGORY', or 'LOCAL'). /// </summary> /// <exception cref="Soomla.Store.NotEnoughGoodsException">Throws NotEnoughGoodsException</exception> /// <param name="notify">if true, the relevant event will be posted when equipped.</param> public void Equip(bool notify) { // only if the user has bought this EquippableVG, the EquippableVG is equipped. if (VirtualGoodsStorage.GetBalance(this) > 0) { if (Equipping == EquippingModel.CATEGORY) { VirtualCategory category = null; try { category = StoreInfo.GetCategoryForVirtualGood(this.ItemId); } catch (VirtualItemNotFoundException) { SoomlaUtils.LogError(TAG, "Tried to unequip all other category VirtualGoods but there was no " + "associated category. virtual good itemId: " + this.ItemId); return; } foreach (string goodItemId in category.GoodItemIds) { EquippableVG equippableVG = null; try { equippableVG = (EquippableVG)StoreInfo.GetItemByItemId(goodItemId); if (equippableVG != null && equippableVG != this) { equippableVG.Unequip(notify); } } catch (VirtualItemNotFoundException) { SoomlaUtils.LogError(TAG, "On equip, couldn't find one of the itemIds " + "in the category. Continuing to the next one. itemId: " + goodItemId); } catch (System.InvalidCastException) { SoomlaUtils.LogDebug(TAG, "On equip, an error occurred. It's a debug " + "message b/c the VirtualGood may just not be an EquippableVG. " + "itemId: " + goodItemId); } } } else if (Equipping == EquippingModel.GLOBAL) { foreach (VirtualGood good in StoreInfo.Goods) { if (good != this && good is EquippableVG) { ((EquippableVG)good).Unequip(notify); } } } VirtualGoodsStorage.Equip(this, notify); } else { throw new NotEnoughGoodsException(ItemId); } }
protected override void _unequip(EquippableVG good, bool notify) { AndroidJNI.PushLocalFrame(100); using (AndroidJavaClass jniStorageManager = new AndroidJavaClass("com.soomla.store.data.StorageManager")) { using (AndroidJavaObject jniVGStorage = jniStorageManager.CallStatic <AndroidJavaObject>("getVirtualGoodsStorage")) { jniVGStorage.Call("unequip", good.ItemId, notify); } } AndroidJNI.PopLocalFrame(IntPtr.Zero); }
protected virtual void _unequip(EquippableVG good, bool notify) { #if UNITY_EDITOR if (!IsEquipped(good)) { return; } equipPriv(good, false, notify); #endif }
protected virtual bool _isEquipped(EquippableVG good) { #if UNITY_EDITOR string itemId = good.ItemId; string key = keyGoodEquipped(itemId); string val = PlayerPrefs.GetString(key); return(!string.IsNullOrEmpty(val)); #else return(false); #endif }
protected override bool _isEquipped(EquippableVG good){ bool equipped; AndroidJNI.PushLocalFrame(100); using(AndroidJavaClass jniStorageManager = new AndroidJavaClass("com.soomla.store.data.StorageManager")) { using(AndroidJavaObject jniVGStorage = jniStorageManager.CallStatic<AndroidJavaObject>("getVirtualGoodsStorage")) { equipped = jniVGStorage.Call<bool>("isEquipped", good.ItemId); } } AndroidJNI.PopLocalFrame(IntPtr.Zero); return equipped; }
/// <summary> /// Equips the virtual good with the given <c>goodItemId</c>. /// Equipping means that the user decides to currently use a specific virtual good. /// For more details and examples <see cref="com.soomla.store.domain.virtualGoods.EquippableVG"/>. /// </summary> /// <param name="goodItemId">Id of the good to be equipped.</param> /// <exception cref="VirtualItemNotFoundException">Thrown if the item is not found.</exception> /// <exception cref="NotEnoughGoodsException"></exception> public static void EquipVirtualGood(string goodItemId) { SoomlaUtils.LogDebug(TAG, "Equipping: " + goodItemId); EquippableVG good = (EquippableVG)StoreInfo.GetItemByItemId(goodItemId); try { good.Equip(); } catch (NotEnoughGoodsException e) { SoomlaUtils.LogError(TAG, "UNEXPECTED! Couldn't equip something"); throw e; } }
protected override bool _isEquipped(EquippableVG good) { bool equipped; AndroidJNI.PushLocalFrame(100); using (AndroidJavaClass jniStorageManager = new AndroidJavaClass("com.soomla.store.data.StorageManager")) { using (AndroidJavaObject jniVGStorage = jniStorageManager.CallStatic <AndroidJavaObject>("getVirtualGoodsStorage")) { equipped = jniVGStorage.Call <bool>("isEquipped", good.ItemId); } } AndroidJNI.PopLocalFrame(IntPtr.Zero); return(equipped); }
public static void onGoodUnequipped(GoodUnEquippedEvent _Event, bool alsoPush) { SoomlaWpStore.domain.virtualGoods.EquippableVG good = _Event.GetEquippableVG(); SoomlaUtils.LogDebug(TAG, "SOOMLA/UNITY onVirtualGoodUnEquipped:" + good.getItemId()); EquippableVG vg = (EquippableVG)StoreInfo.GetItemByItemId(good.getItemId()); StoreInventory.RefreshOnGoodUnEquipped(vg); StoreEvents.OnGoodUnEquipped(vg); if (alsoPush) { sep.PushEventOnGoodUnequipped(_Event); } }
/// <summary> /// Checks currently equipped good in given <c>category</c> /// </summary> /// <param name="category">Category we want to check</param> /// <returns>EquippableVG otherwise null</returns> public static EquippableVG GetEquippedVirtualGood(VirtualCategory category) { SoomlaUtils.LogDebug(TAG, "Checking equipped goood in " + category.Name + " category"); foreach (string goodItemId in category.GoodItemIds) { EquippableVG good = (EquippableVG)StoreInfo.GetItemByItemId(goodItemId); if (good != null && good.Equipping == EquippableVG.EquippingModel.CATEGORY && VirtualGoodsStorage.IsEquipped(good) && StoreInfo.GetCategoryForVirtualGood(goodItemId) == category) { return(good); } } SoomlaUtils.LogError(TAG, "There is no virtual good equipped in " + category.Name + " category"); return(null); }
public void onGoodUnequipped(string message, bool alsoPush) { SoomlaUtils.LogDebug(TAG, "SOOMLA/UNITY onVirtualGoodUnEquipped:" + message); var eventJSON = new JSONObject(message); EquippableVG vg = (EquippableVG)StoreInfo.GetItemByItemId(eventJSON["itemId"].str); StoreInventory.RefreshOnGoodUnEquipped(vg); StoreEvents.OnGoodUnEquipped(vg); if (alsoPush) { #if (UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR sep.PushEventOnGoodUnequipped(vg); #endif } }
/// <summary> /// UnEquips the given <code>EquippableVG</code>. /// </summary> /// <param name="good">the <code>EquippableVG</code> to equip.</param> public static void UnEquip(EquippableVG good) { SoomlaUtils.LogDebug(TAG, "unequipping: " + good.ItemId); UnEquip(good, true); }
public GoodUnEquippedEvent (EquippableVG item , Object sender) : base(sender) { mItem = item ; }
private void equipPriv(EquippableVG good, bool equip, bool notify){ string itemId = good.ItemId; string key = keyGoodEquipped(itemId); if (equip) { PlayerPrefs.SetString(key, "yes"); if (notify) { var eventJSON = new JSONObject(); eventJSON.AddField("itemId", good.ItemId); StoreEvents.Instance.onGoodEquipped(eventJSON.print()); } } else { PlayerPrefs.DeleteKey(key); if (notify) { var eventJSON = new JSONObject(); eventJSON.AddField("itemId", good.ItemId); StoreEvents.Instance.onGoodUnequipped(eventJSON.print()); } } }
public GoodUnEquippedEvent(EquippableVG item) : this(item, null) { }
/// <summary> /// UnEquips the given <code>EquippableVG</code>. /// </summary> /// <param name="good">the <code>EquippableVG</code> to equip.</param> public static void UnEquip(EquippableVG good){ SoomlaUtils.LogDebug(TAG, "unequipping: " + good.ItemId); UnEquip(good, true); }
protected virtual bool _isEquipped(EquippableVG good){ #if UNITY_EDITOR string itemId = good.ItemId; string key = keyGoodEquipped(itemId); string val = PlayerPrefs.GetString(key); return !string.IsNullOrEmpty(val); #else return false; #endif }
public static void RefreshOnGoodEquipped(EquippableVG equippable) { localEquippedGoods.Add(equippable.ItemId); }
/// <summary> /// Retrieves the current upgrade for the given virtual good. /// </summary> /// <param name="good">the virtual good to retrieve upgrade for.</param> /// <return>the current upgrade for the given virtual good.</return> public static bool IsEquipped(EquippableVG good){ SoomlaUtils.LogDebug(TAG, "checking if virtual good with itemId: " + good.ItemId + " is equipped."); return instance._isEquipped(good); }
protected override void _unequip(EquippableVG good, bool notify) { SoomlaWpStore.domain.virtualGoods.EquippableVG evg = (SoomlaWpStore.domain.virtualGoods.EquippableVG)SoomlaWpStore.data.StoreInfo.getVirtualItem(good.ItemId); SoomlaWpStore.data.StorageManager.getVirtualGoodsStorage().unequip(evg, notify); }
public GoodEquippedEvent(EquippableVG item, Object sender) : base(sender) { mItem = item; }
public GoodEquippedEvent(EquippableVG item) : this(item, null) { mItem = item; }
private void OnGoodUnequipped(EquippableVG good) { Debug.Log(string.Format("GNOME: GoodUnequipped - ItemId: {0}", good.ItemId)); }
public static void RefreshOnGoodUnEquipped(EquippableVG equippable) { localEquippedGoods.Remove(equippable.ItemId); }
/// <summary> /// Handles a good unequipped event. /// </summary> /// <param name="good">Equippable virtual good.</param> public void onGoodUnequipped(EquippableVG good) { }
/// <summary> /// Equips the given <code>EquippableVG</code>. /// </summary> /// <param name="good">the <code>EquippableVG</code> to equip.</param> public static void Equip(EquippableVG good){ SoomlaUtils.LogDebug(TAG, "equipping: " + good.ItemId); Equip(good); }
protected override bool _isEquipped(EquippableVG good){ bool res = false; int err = vgStorage_IsEquipped(good.ItemId, out res); IOS_ErrorCodes.CheckAndThrowException(err); return res; }
/// <summary> /// UnEquips the given <code>EquippableVG</code>. /// </summary> /// <param name="good">the <code>EquippableVG</code> to equip.</param> /// <param name="notify">true will also post event.</param> public static void UnEquip(EquippableVG good, bool notify){ SoomlaUtils.LogDebug(TAG, "unequipping: " + good.ItemId); instance._unequip(good, notify); }
protected override void _unequip(EquippableVG good, bool notify) { int err = vgStorage_UnEquip(good.ItemId, notify); IOS_ErrorCodes.CheckAndThrowException(err); }
protected override void _equip(EquippableVG good, bool notify) { int err = vgStorage_Equip(good.ItemId, notify); IOS_ErrorCodes.CheckAndThrowException(err); }
public GoodUnEquippedEvent (EquippableVG item ) : this(item , null) { }
/// <summary> /// Equips the given <code>EquippableVG</code>. /// </summary> /// <param name="good">the <code>EquippableVG</code> to equip.</param> public static void Equip(EquippableVG good) { SoomlaUtils.LogDebug(TAG, "equipping: " + good.ItemId); Equip(good); }
protected override void _equip(EquippableVG good, bool notify) { SoomlaWpStore.domain.virtualGoods.EquippableVG evg = (SoomlaWpStore.domain.virtualGoods.EquippableVG)SoomlaWpStore.data.StoreInfo.getVirtualItem(good.ItemId); SoomlaWpStore.data.StorageManager.getVirtualGoodsStorage().equip(evg, notify); }
/// <summary> /// UnEquips the given <code>EquippableVG</code>. /// </summary> /// <param name="good">the <code>EquippableVG</code> to equip.</param> /// <param name="notify">true will also post event.</param> public static void UnEquip(EquippableVG good, bool notify) { SoomlaUtils.LogDebug(TAG, "unequipping: " + good.ItemId); instance._unequip(good, notify); }
public GoodEquippedEvent (EquippableVG item) : this(item, null) { mItem = item; }