API

CBSCalendarModule.GetAllAvailableCalendars - Get list of all available calendars for profile

using CBS;
using CBS.Models;
using UnityEngine;

public class DallyExample : MonoBehaviour
{
    private ICalendar CalendarModule { get; set; }

    private void Start()
    {
        CalendarModule = CBSModule.Get<CBSCalendarModule>();

        CalendarModule.GetAllAvailableCalendars(OnGet);
    }

    private void OnGet(CBSGetAllCalendarsResult result)
    {
        if (result.IsSuccess)
        {
            var calendars = result.Instances;
            foreach (var calendar in calendars)
            {
                var id = calendar.ID;
                var instanceID = calendar.InstanceID;
                var displayName = calendar.DisplayName;
                var description = calendar.Description;
                var ended = calendar.Enabled;
                var looped = calendar.Looped;
                var noPenalty = calendar.NoPenalty;
                var price = calendar.Price;
                var template = calendar.Template;
                var activation = calendar.Activation;
                var currentIndex = calendar.CurrentIndex;
                var isAvailable = calendar.IsAvailable;
                var badgeCount = calendar.BadgeCount;
                var endDate = calendar.EndDate;
                var customData = calendar.GetCustomData<CBSCalendarCustomData>();

                var positions = calendar.Positions;
                foreach (var position in positions)
                {
                    var positionIndex = position.Position;
                    var active = position.Active;
                    var rewarded = position.Rewarded;
                    var missed = position.Missed;
                    var canBeRewarded = position.CanBeRewarded;
                    var reward = position.Reward;
                    var events = position.Events;
                }
            }
        }
        else
        {
            Debug.Log(result.Error.Message);
        }
    }
}

CBSCalendarModule.GetCalendarByID - Get information about the status of the calendar by id. Also get a list of all calendar rewards.

using CBS;
using CBS.Models;
using UnityEngine;

public class CalendarExample : MonoBehaviour
{
    private ICalendar CalendarModule { get; set; }

    private void Start()
    {
        CalendarModule = CBSModule.Get<CBSCalendarModule>();

        var calendarID = "weekly_calendar";

        CalendarModule.GetCalendarByID(calendarID, OnGet);
    }

    private void OnGet(CBSGetCalendarResult result)
    {
        if (result.IsSuccess)
        {
            var calendar = result.Calendar;

            var id = calendar.ID;
            var instanceID = calendar.InstanceID;
            var displayName = calendar.DisplayName;
            var description = calendar.Description;
            var ended = calendar.Enabled;
            var looped = calendar.Looped;
            var noPenalty = calendar.NoPenalty;
            var price = calendar.Price;
            var template = calendar.Template;
            var activation = calendar.Activation;
            var currentIndex = calendar.CurrentIndex;
            var isAvailable = calendar.IsAvailable;
            var badgeCount = calendar.BadgeCount;
            var endDate = calendar.EndDate;
            var customData = calendar.GetCustomData<CBSCalendarCustomData>();

            var positions = calendar.Positions;
            foreach (var position in positions)
            {
                var positionIndex = position.Position;
                var active = position.Active;
                var rewarded = position.Rewarded;
                var missed = position.Missed;
                var canBeRewarded = position.CanBeRewarded;
                var reward = position.Reward;
                var events = position.Events;
            }
        }
        else
        {
            Debug.Log(result.Error.Message);
        }
    }
}

CBSCalendarModule.PickupReward - Pickup calendar reward.

using CBS;
using CBS.Models;
using UnityEngine;

public class CalendarExample : MonoBehaviour
{
    private ICalendar CalendarModule { get; set; }

    private void Start()
    {
        CalendarModule = CBSModule.Get<CBSCalendarModule>();

        var calendarID = "weekly_calendar";
        var calendarPosition = 10;

        CalendarModule.PickupReward(calendarID, calendarPosition, OnGet);
    }

    private void OnGet(CBSPickupCalendarReward result)
    {
        if (result.IsSuccess)
        {
            var updatedPosition = result.UpdatedPosition;
            var rewardResult = result.RewardResult;

            var rewardObject = rewardResult.OriginReward;
            var grantedInstances = rewardResult.GrantedInstances;
            var grantedCurrencies = rewardResult.GrantedCurrencies;
        }
        else
        {
            Debug.Log(result.Error.Message);
        }
    }
}

CBSCalendarModule.ResetCalendar - Reset caledar states for current profile.

using CBS;
using CBS.Models;
using UnityEngine;

public class CalendarExample : MonoBehaviour
{
    private ICalendar CalendarModule { get; set; }

    private void Start()
    {
        CalendarModule = CBSModule.Get<CBSCalendarModule>();

        var calendarID = "weekly_calendar";

        CalendarModule.ResetCalendar(calendarID, OnReset);
    }

    private void OnReset(CBSResetCalendarResult result)
    {
        if (result.IsSuccess)
        {
            var newCalendar = result.NewCalendar;

            var id = newCalendar.ID;
            var instanceID = newCalendar.InstanceID;
            var displayName = newCalendar.DisplayName;
            var description = newCalendar.Description;
            var ended = newCalendar.Enabled;
            var looped = newCalendar.Looped;
            var noPenalty = newCalendar.NoPenalty;
            var price = newCalendar.Price;
            var template = newCalendar.Template;
            var activation = newCalendar.Activation;
            var currentIndex = newCalendar.CurrentIndex;
            var isAvailable = newCalendar.IsAvailable;
            var badgeCount = newCalendar.BadgeCount;
            var endDate = newCalendar.EndDate;
            var customData = newCalendar.GetCustomData<CBSCalendarCustomData>();

            var positions = newCalendar.Positions;
            foreach (var position in positions)
            {
                var positionIndex = position.Position;
                var active = position.Active;
                var rewarded = position.Rewarded;
                var missed = position.Missed;
                var canBeRewarded = position.CanBeRewarded;
                var reward = position.Reward;
                var events = position.Events;
            }
        }
        else
        {
            Debug.Log(result.Error.Message);
        }
    }
}

CBSCalendarModule.GetCalendarBadge - Get the amount of rewards profile can pickup today

using CBS;
using CBS.Models;
using UnityEngine;

public class CalendarExample : MonoBehaviour
{
    private ICalendar CalendarModule { get; set; }

    private void Start()
    {
        CalendarModule = CBSModule.Get<CBSCalendarModule>();

        CalendarModule.GetCalendarBadge(OnGet);
    }

    private void OnGet(CBSBadgeResult result)
    {
        if (result.IsSuccess)
        {
            var notRewardedPositionCount = result.Count;
        }
        else
        {
            Debug.Log(result.Error.Message);
        }
    }
}

CBSCalendarModule.GrantCalendar - Grant calendar instance to profile. Only work when "Activation" equal "BY_PURCHASE"

using CBS;
using CBS.Models;
using UnityEngine;

public class CalendarExample : MonoBehaviour
{
    private ICalendar CalendarModule { get; set; }

    private void Start()
    {
        CalendarModule = CBSModule.Get<CBSCalendarModule>();

        var calendarID = "weekly_calendar";

        CalendarModule.GrantCalendar(calendarID, OnGrant);
    }

    private void OnGrant(CBSGrantCalendarResult result)
    {
        if (result.IsSuccess)
        {
            var newCalendar = result.NewCalendar;

            var id = newCalendar.ID;
            var instanceID = newCalendar.InstanceID;
            var displayName = newCalendar.DisplayName;
            var description = newCalendar.Description;
            var ended = newCalendar.Enabled;
            var looped = newCalendar.Looped;
            var noPenalty = newCalendar.NoPenalty;
            var price = newCalendar.Price;
            var template = newCalendar.Template;
            var activation = newCalendar.Activation;
            var currentIndex = newCalendar.CurrentIndex;
            var isAvailable = newCalendar.IsAvailable;
            var badgeCount = newCalendar.BadgeCount;
            var endDate = newCalendar.EndDate;
            var customData = newCalendar.GetCustomData<CBSCalendarCustomData>();

            var positions = newCalendar.Positions;
            foreach (var position in positions)
            {
                var positionIndex = position.Position;
                var active = position.Active;
                var rewarded = position.Rewarded;
                var missed = position.Missed;
                var canBeRewarded = position.CanBeRewarded;
                var reward = position.Reward;
                var events = position.Events;
            }
        }
        else
        {
            Debug.Log(result.Error.Message);
        }
    }
}

CBSCalendarModule.PurchaseCalendar - Purchase calendar with currencies.

using CBS;
using CBS.Models;
using UnityEngine;

public class CalendarExample : MonoBehaviour
{
    private ICalendar CalendarModule { get; set; }

    private void Start()
    {
        CalendarModule = CBSModule.Get<CBSCalendarModule>();

        var calendarID = "weekly_calendar";

        CalendarModule.PurchaseCalendar(calendarID, OnPurchase);
    }

    private void OnPurchase(CBSPurchaseCalendarResult result)
    {
        if (result.IsSuccess)
        {
            var newCalendar = result.PurchasedInstance;
            var priceCode = result.PriceCode;
            var priceValue = result.PriceValue;

            var id = newCalendar.ID;
            var instanceID = newCalendar.InstanceID;
            var displayName = newCalendar.DisplayName;
            var description = newCalendar.Description;
            var ended = newCalendar.Enabled;
            var looped = newCalendar.Looped;
            var noPenalty = newCalendar.NoPenalty;
            var price = newCalendar.Price;
            var template = newCalendar.Template;
            var activation = newCalendar.Activation;
            var currentIndex = newCalendar.CurrentIndex;
            var isAvailable = newCalendar.IsAvailable;
            var badgeCount = newCalendar.BadgeCount;
            var endDate = newCalendar.EndDate;
            var customData = newCalendar.GetCustomData<CBSCalendarCustomData>();

            var positions = newCalendar.Positions;
            foreach (var position in positions)
            {
                var positionIndex = position.Position;
                var active = position.Active;
                var rewarded = position.Rewarded;
                var missed = position.Missed;
                var canBeRewarded = position.CanBeRewarded;
                var reward = position.Reward;
                var events = position.Events;
            }
        }
        else
        {
            Debug.Log(result.Error.Message);
        }
    }
}

CBSCalendarModule.PurchaseCalendarWithRM - Purchase calendar with real money.

using CBS;
using CBS.Models;
using UnityEngine;

public class CalendarExample : MonoBehaviour
{
    private ICalendar CalendarModule { get; set; }

    private void Start()
    {
        CalendarModule = CBSModule.Get<CBSCalendarModule>();

        var calendarID = "weekly_calendar";

        CalendarModule.PurchaseCalendarWithRM(calendarID, OnPurchase);
    }

    private void OnPurchase(CBSPurchaseCalendarWithRMResult result)
    {
        if (result.IsSuccess)
        {
            var newCalendar = result.PurchasedInstance;
            var transactionID = result.TransactionID;

            var id = newCalendar.ID;
            var instanceID = newCalendar.InstanceID;
            var displayName = newCalendar.DisplayName;
            var description = newCalendar.Description;
            var ended = newCalendar.Enabled;
            var looped = newCalendar.Looped;
            var noPenalty = newCalendar.NoPenalty;
            var price = newCalendar.Price;
            var template = newCalendar.Template;
            var activation = newCalendar.Activation;
            var currentIndex = newCalendar.CurrentIndex;
            var isAvailable = newCalendar.IsAvailable;
            var badgeCount = newCalendar.BadgeCount;
            var endDate = newCalendar.EndDate;
            var customData = newCalendar.GetCustomData<CBSCalendarCustomData>();

            var positions = newCalendar.Positions;
            foreach (var position in positions)
            {
                var positionIndex = position.Position;
                var active = position.Active;
                var rewarded = position.Rewarded;
                var missed = position.Missed;
                var canBeRewarded = position.CanBeRewarded;
                var reward = position.Reward;
                var events = position.Events;
            }
        }
        else
        {
            Debug.Log(result.Error.Message);
        }
    }
}

Last updated