API

CBSCurrencyModule.GetProfileCurrencies - Get currencies of current profile or by profile id

using CBS;
using CBS.Models;
using UnityEngine;

public class CurrencyExample : MonoBehaviour
{
    private ICurrency CurrencyModule { get; set; }

    void Start()
    {
        CurrencyModule = CBSModule.Get<CBSCurrencyModule>();

        CurrencyModule.GetProfileCurrencies(OnGetCurrencies);
    }

    private void OnGetCurrencies(CBSGetCurrenciesResult result)
    {
        if (result.IsSuccess)
        {
            var currencies = result.Currencies;
            foreach (var currencyInstance in currencies)
            {
                var currencyCode = currencyInstance.Value.Code;
                var currencyValue = currencyInstance.Value.Value;
                var isRecharchable = currencyInstance.Value.Rechargeable;
                var maxRecharge = currencyInstance.Value.MaxRecharge;
                var secondsToNextRecharge = currencyInstance.Value.SecondsToRecharge;
            }
        }
        else
        {
            Debug.Log(result.Error.Message);
        }
    }
}
using CBS;
using CBS.Models;
using UnityEngine;

public class CurrencyExample : MonoBehaviour
{
    private ICurrency CurrencyModule { get; set; }

    void Start()
    {
        CurrencyModule = CBSModule.Get<CBSCurrencyModule>();

        var profileID = "some profile id";
        CurrencyModule.GetProfileCurrencies(profileID, OnGetCurrencies);
    }

    private void OnGetCurrencies(CBSGetCurrenciesResult result)
    {
        if (result.IsSuccess)
        {
            var currencies = result.Currencies;
            foreach (var currencyInstance in currencies)
            {
                var currencyCode = currencyInstance.Value.Code;
                var currencyValue = currencyInstance.Value.Value;
                var isRecharchable = currencyInstance.Value.Rechargeable;
                var maxRecharge = currencyInstance.Value.MaxRecharge;
                var secondsToNextRecharge = currencyInstance.Value.SecondsToRecharge;
            }
        }
        else
        {
            Debug.Log(result.Error.Message);
        }
    }
}

CBSCurrencyModule.AddCurrencyToProfile - Add currency to the current profile or by profile id

using CBS;
using CBS.Models;
using UnityEngine;

public class CurrencyExample : MonoBehaviour
{
    private ICurrency CurrencyModule { get; set; }

    void Start()
    {
        CurrencyModule = CBSModule.Get<CBSCurrencyModule>();

        var currencyCode = "GD";
        var currencyValue = 100;
        CurrencyModule.AddCurrencyToProfile(currencyCode, currencyValue, OnAddCurrency);
    }

    private void OnAddCurrency(CBSUpdateCurrencyResult result)
    {
        if (result.IsSuccess)
        {
            var balanceChange = result.BalanceChange;
            var updatedCurrency = result.UpdatedCurrency;
        }
        else
        {
            Debug.Log(result.Error.Message);
        }
    }
}
using CBS;
using CBS.Models;
using UnityEngine;

public class CurrencyExample : MonoBehaviour
{
    private ICurrency CurrencyModule { get; set; }

    void Start()
    {
        CurrencyModule = CBSModule.Get<CBSCurrencyModule>();

        var profileIDToAdd = "some profile ID";
        var currencyCode = "GD";
        var currencyValue = 100;
        CurrencyModule.AddCurrencyToProfile(profileIDToAdd, currencyCode, currencyValue, OnAddCurrency);
    }

    private void OnAddCurrency(CBSUpdateCurrencyResult result)
    {
        if (result.IsSuccess)
        {
            var balanceChange = result.BalanceChange;
            var updatedCurrency = result.UpdatedCurrency;
        }
        else
        {
            Debug.Log(result.Error.Message);
        }
    }
}

CBSCurrencyModule.SubtractCurrencyFromProfile - Subtract game currency from current profile or by profile id

using CBS;
using CBS.Models;
using UnityEngine;

public class CurrencyExample : MonoBehaviour
{
    private ICurrency CurrencyModule { get; set; }

    void Start()
    {
        CurrencyModule = CBSModule.Get<CBSCurrencyModule>();

        var currencyCode = "GD";
        var currencyValue = 100;
        CurrencyModule.SubtractCurrencyFromProfile(currencyCode, currencyValue, OnSubtract);
    }

    private void OnSubtract(CBSUpdateCurrencyResult result)
    {
        if (result.IsSuccess)
        {
            var balanceChange = result.BalanceChange;
            var updatedCurrency = result.UpdatedCurrency;
        }
        else
        {
            Debug.Log(result.Error.Message);
        }
    }
}
using CBS;
using CBS.Models;
using UnityEngine;

public class CurrencyExample : MonoBehaviour
{
    private ICurrency CurrencyModule { get; set; }

    void Start()
    {
        CurrencyModule = CBSModule.Get<CBSCurrencyModule>();

        var profileIDToSubtract = "some profile id";
        var currencyCode = "GD";
        var currencyValue = 100;
        CurrencyModule.SubtractCurrencyFromProfile(profileIDToSubtract, currencyCode, currencyValue, OnSubtract);
    }

    private void OnSubtract(CBSUpdateCurrencyResult result)
    {
        if (result.IsSuccess)
        {
            var balanceChange = result.BalanceChange;
            var updatedCurrency = result.UpdatedCurrency;
        }
        else
        {
            Debug.Log(result.Error.Message);
        }
    }
}

CBSCurrencyModule.GetCurrenciesPacks - Get all currencies packs.

using CBS;
using CBS.Example;
using CBS.Models;
using UnityEngine;

public class CurrencyExample : MonoBehaviour
{
    private ICurrency CurrencyModule { get; set; }

    void Start()
    {
        CurrencyModule = CBSModule.Get<CBSCurrencyModule>();

        CurrencyModule.GetCurrenciesPacks(OnGetPacks);
    }

    private void OnGetPacks(CBSGetCurrenciesPacksResult result)
    {
        if (result.IsSuccess)
        {
            var packs = result.Packs;
            foreach (var pack in packs)
            {
                var packID = pack.ID;
                var displayName = pack.DisplayName;
                var description = pack.Description;
                var priceTitle = pack.PriceTitle;
                var exernalURL = pack.ExternalURL;
                var tag = pack.Tag;
                var currenciesInside = pack.Currencies;
                var customData = pack.GetCustomData<CurrencyData1>();
            }
        }
        else
        {
            Debug.Log(result.Error.Message);
        }
    }
}

CBSCurrencyModule.GetPacksByTag - Get all currency packs by specific tag

using CBS;
using CBS.Example;
using CBS.Models;
using UnityEngine;

public class CurrencyExample : MonoBehaviour
{
    private ICurrency CurrencyModule { get; set; }

    void Start()
    {
        CurrencyModule = CBSModule.Get<CBSCurrencyModule>();

        var packTag = "pack tag";
        CurrencyModule.GetPacksByTag(packTag, OnGetPacks);
    }

    private void OnGetPacks(CBSGetCurrenciesPacksResult result)
    {
        if (result.IsSuccess)
        {
            var packs = result.Packs;
            foreach (var pack in packs)
            {
                var packID = pack.ID;
                var displayName = pack.DisplayName;
                var description = pack.Description;
                var priceTitle = pack.PriceTitle;
                var exernalURL = pack.ExternalURL;
                var tag = pack.Tag;
                var currenciesInside = pack.Currencies;
                var customData = pack.GetCustomData<CurrencyData1>();
            }
        }
        else
        {
            Debug.Log(result.Error.Message);
        }
    }
}

CBSCurrencyModule.GrantCurrencyPack - Grant currency pack to current profile.

using CBS;
using CBS.Models;
using UnityEngine;

public class CurrencyExample : MonoBehaviour
{
    private ICurrency CurrencyModule { get; set; }

    void Start()
    {
        CurrencyModule = CBSModule.Get<CBSCurrencyModule>();

        var packID = "pack id";
        CurrencyModule.GrantCurrencyPack(packID, OnGrant);
    }

    private void OnGrant(CBSGrandPackResult result)
    {
        if (result.IsSuccess)
        {
            var grantedCurrencies = result.GrantedCurrencies;
        }
        else
        {
            Debug.Log(result.Error.Message);
        }
    }
}

CBSCurrencyModule.PurchasePackWithRealMoney - Purchase pack with real money using Unity IAP

using CBS;
using CBS.Models;
using UnityEngine;

public class CurrencyExample : MonoBehaviour
{
    private ICurrency CurrencyModule { get; set; }

    void Start()
    {
        CurrencyModule = CBSModule.Get<CBSCurrencyModule>();

        var packID = "pack id";
        CurrencyModule.PurchasePackWithRealMoney(packID, OnPurchase);
    }

    private void OnPurchase(CBSPurchasePackWithRealMoneyResult result)
    {
        if (result.IsSuccess)
        {
            var grantedCurrencies = result.GrantedCurrencies;
            var transactionID = result.TransactionID;
        }
        else
        {
            Debug.Log(result.Error.Message);
        }
    }
}

Last updated