Integration Guide
using System.Collections.Generic;
using UnityEngine;
using RGN.Modules.Store;
using RGN.Modules.VirtualItems;
using RGN.Modules.Currency;
using RGN.Modules.Inventory;
public class StoreExamples : MonoBehaviour
{
public async void BuyVirtualItemAsync(VirtualItem virtualItem)
{
List<string> itemsToPurchase = new List<string>() { virtualItem.id };
PurchaseResult purchaseResult = await StoreModule.I.BuyVirtualItemsAsync(itemsToPurchase);
// purchaseResult returns the purchased items and updated currencies
List<Currency> updatedCurrencies = purchaseResult.updatedCurrencies;
List<InventoryItemData> purchasedItems = purchaseResult.items;
}
}using System.Collections.Generic;
using UnityEngine;
using RGN.Modules.Store;
using RGN.Modules.Currency;
using RGN.Modules.Inventory;
public class StoreExamples : MonoBehaviour
{
public async void BuyStoreOfferAsync()
{
PurchaseResult purchaseResult = await StoreModule.I.BuyStoreOfferAsync("storeOfferId");
// purchaseResult Returns the purchased items and updated currencies
List<Currency> updatedCurrencies = purchaseResult.updatedCurrencies;
List<InventoryItemData> purchasedItems = purchaseResult.items;
}
}using System.Collections.Generic;
using UnityEngine;
using RGN.Modules.Store;
public class StoreExamples : MonoBehaviour
{
public async void GetStoreOfferAsync()
{
// Get the first 10 offer
List<StoreOffer> offers = await StoreModule.I.GetWithVirtualItemsDataForCurrentAppAsync(10);
// Pick the first returned offer for log purposes
StoreOffer firstStoreOffer = offers[0];
Debug.Log($"Store offer id : {firstStoreOffer.id}");
// Log the virtuals items name for this offer
foreach (var virtualItem in firstStoreOffer.virtualItems)
{
Debug.Log($"Virtual item name : {virtualItem.name}");
}
}
}using System.Collections.Generic;
using UnityEngine;
using RGN;
using RGN.Modules.Wallets;
using RGN.Modules.SignIn;
using RGN.Modules.Store;
public class NFTPurchaseExamples : MonoBehaviour
{
private async void BuyNFTVirtualItem()
{
bool authWithEmail = RGNCoreBuilder.I.CurrentAuthState.AuthProvider == EnumAuthProvider.Email;
if (!authWithEmail)
{
EmailSignInModule.I.TryToSignIn();
return;
}
bool hasBlockchainRequirement = await WalletsModule.I.IsUserHasBlockchainRequirementAsync();
if (!hasBlockchainRequirement)
{
WalletsModule.I.CreateWallet();
return;
}
List<string> virtualItemIds = new List<string> { "myNftVirtualItemId" };
PurchaseResult purchaseResult = await StoreModule.I.BuyVirtualItemsAsync(virtualItemIds);
}
}