Unity integration
using System.Collections.Generic;
using UnityEngine;
using RGN.Modules.VirtualItems;
public class VirtualItemExamples : MonoBehaviour
{
public async void GetAllVirtualItem()
{
List<VirtualItem> virtualItems = await VirtualItemsModule.I.GetVirtualItemsAsync();
foreach (var virtualItem in virtualItems)
{
Debug.Log($"Virtual item id : {virtualItem.id} \n" +
$"virtual item name : {virtualItem.name}");
// etc
}
}
}using System.Collections.Generic;
using UnityEngine;
using RGN.Modules.VirtualItems;
public class VirtualItemExamples : MonoBehaviour
{
private List<VirtualItem> allLoadedItems = new List<VirtualItem>();
private VirtualItem lastLoadedItem = null;
public async void GetVirtualItemsPaginationAsync()
{
List<VirtualItem> virtualItems = new List<VirtualItem>();
if (allLoadedItems.Count > 0)
{
lastLoadedItem = allLoadedItems[allLoadedItems.Count - 1];
virtualItems = await VirtualItemsModule.I.GetVirtualItemsAsync(5, lastLoadedItem.id); // Get 5 more items
}
else
{
virtualItems = await VirtualItemsModule.I.GetVirtualItemsAsync(5, ""); // Get 5 first items
}
allLoadedItems.AddRange(virtualItems);
Debug.Log(allLoadedItems.Count);
}
}using System.Collections.Generic;
using UnityEngine;
using RGN.Modules.VirtualItems;
public class VirtualItemExamples : MonoBehaviour
{
public async void GetVirtualItemsAsync()
{
List<string> tags = new List<string> { "guns", "rifles" };
List<VirtualItem> virtualItems = await VirtualItemsModule.I.GetByTagsAsync(tags);
}
}using System.Collections.Generic;
using UnityEngine;
using RGN.Modules.VirtualItems;
public class VirtualItemExamples : MonoBehaviour
{
public async void GetByIdsAsync()
{
List<string> ids = new List<string> { "item_one_id", "item_two_id" };
List<VirtualItem> virtualItems = await VirtualItemsModule.I.GetVirtualItemsByIdsAsync(ids);
}
}using System.Collections.Generic;
using UnityEngine;
using RGN.Modules.VirtualItems;
public class VirtualItemExamples : MonoBehaviour
{
public async void UpdateVirtualItemInfosAsync()
{
string virtualItemId = "some_virtual_item";
await VirtualItemsModule.I.SetNameAsync(virtualItemId, "New Virtual Item Name");
await VirtualItemsModule.I.SetDescriptionAsync(virtualItemId, "New Virtual Item Description");
List<string> newTags = new List<string> { "tag01", "tag02" };
await VirtualItemsModule.I.SetTagsAsync(virtualItemId, newTags);
}
}using UnityEngine;
using RGN.Modules.VirtualItems;
[System.Serializable]
public struct MyCustomVirtualItemData
{
public int MyInt;
public string MyString;
public float MyFloat;
}
public class VirtualItemExamples : MonoBehaviour
{
public async void UpdatePropertiesAsync()
{
string virtualItemId = "some_virtual_item";
var myCustomData = new MyCustomVirtualItemData()
{
MyFloat = 42.78f,
MyInt = 51,
MyString = "Hello World"
};
string propertiesJson = JsonUtility.ToJson(myCustomData);
await VirtualItemsModule.I.SetPropertiesAsync(virtualItemId, propertiesJson);
}
public async void GetPropertiesAsync()
{
string virtualItemId = "some_virtual_item";
var jsonProperties = await VirtualItemsModule.I.GetPropertiesAsync(virtualItemId);
MyCustomVirtualItemData myCustomData = JsonUtility.FromJson<MyCustomVirtualItemData>(jsonProperties);
Debug.Log(myCustomData.MyString);
}
}using UnityEngine;
using RGN.Modules.VirtualItems;
public class VirtualItemExamples : MonoBehaviour
{
public async void UpdateVirtualItemImageAsync(string virtualItemId, Texture2D virtualItemImage)
{
byte[] bytes = virtualItemImage.EncodeToPNG();
await VirtualItemsModule.I.UploadImageAsync(virtualItemId,bytes);
}
}using UnityEngine;
using RGN.Modules.VirtualItems;
using RGN.Model;
using System.Threading.Tasks;
public class VirtualItemExamples : MonoBehaviour
{
public async Task<Texture2D> DownloadVirtualItemImageAsync(string virtualItemId)
{
byte[] bytes = await VirtualItemsModule.I.DownloadImageAsync(virtualItemId, ImageSize.Small);
Texture2D resultTexture = new Texture2D(1, 1);
resultTexture.LoadImage(bytes);
resultTexture.Apply();
return resultTexture;
}
}