API

CBSLeaderboardModule.GetLeadearboard - Get users leaderboard based on custom statistics.

using CBS;
using CBS.Models;
using UnityEngine;

public class LeaserboardExample : MonoBehaviour
{
    private ILeaderboard LeaderboardModule { get; set; }

    private void Start()
    {
        LeaderboardModule = CBSModule.Get<CBSLeaderboardModule>();

        var request = new CBSGetLeaderboardRequest
        {
            MaxCount = 100,
            Constraints = CBSProfileConstraints.Default(),
            StatisticName = "your statistic name",
            StartPosition = 0,
            Version = null
        };
        LeaderboardModule.GetLeadearboard(request, OnGet);
    }

    private void OnGet(CBSGetLeaderboardResult result)
    {
        if (result.IsSuccess)
        {
            var version = result.Version;
            var nextResetDate = result.NextReset;
            var profileEntry = result.ProfileEntry;
            var playerEntries = result.Leaderboard;
            foreach (var entry in playerEntries)
            {
                var profileID = entry.ProfileID;
                var displayName = entry.DisplayName;
                var avatar = entry.Avatar;
                var clanID = entry.ClanID;
                var clan = entry.ClanEntity;
                var levelInfo = entry.Level;
                var statisitcs = entry.Statistics;

                var statisticPosition = entry.StatisticPosition;
                var statisticValue = entry.StatisticValue;
            }
        }
    }
}

CBSLeaderboardModule.GetLevelLeadearboard - Get users leaderboard based by player level/xp

using CBS;
using CBS.Models;
using UnityEngine;

public class LeaserboardExample : MonoBehaviour
{
    private ILeaderboard LeaderboardModule { get; set; }

    private void Start()
    {
        LeaderboardModule = CBSModule.Get<CBSLeaderboardModule>();

        var request = new CBSGetLevelLeaderboardRequest
        {
            MaxCount = 100,
            Constraints = CBSProfileConstraints.Default(),
            StartPosition = 0,
            Version = null
        };
        LeaderboardModule.GetLevelLeadearboard(request, OnGet);
    }

    private void OnGet(CBSGetLeaderboardResult result)
    {
        if (result.IsSuccess)
        {
            var version = result.Version;
            var nextResetDate = result.NextReset;
            var profileEntry = result.ProfileEntry;
            var playerEntries = result.Leaderboard;
            foreach (var entry in playerEntries)
            {
                var profileID = entry.ProfileID;
                var displayName = entry.DisplayName;
                var avatar = entry.Avatar;
                var clanID = entry.ClanID;
                var clan = entry.ClanEntity;
                var levelInfo = entry.Level;
                var statisitcs = entry.Statistics;

                var statisticPosition = entry.StatisticPosition;
                var statisticValue = entry.StatisticValue;
            }
        }
    }
}

CBSLeaderboardModule.GetLeadearboardAround - Get leaderboard around user based on custom statistics.

using CBS;
using CBS.Models;
using UnityEngine;

public class LeaserboardExample : MonoBehaviour
{
    private ILeaderboard LeaderboardModule { get; set; }

    private void Start()
    {
        LeaderboardModule = CBSModule.Get<CBSLeaderboardModule>();

        var request = new CBSGetLeaderboardRequest
        {
            MaxCount = 100,
            Constraints = CBSProfileConstraints.Default(),
            StatisticName = "your statistic name",
            Version = null
        };
        LeaderboardModule.GetLeadearboardAround(request, OnGet);
    }

    private void OnGet(CBSGetLeaderboardResult result)
    {
        if (result.IsSuccess)
        {
            var version = result.Version;
            var nextResetDate = result.NextReset;
            var profileEntry = result.ProfileEntry;
            var playerEntries = result.Leaderboard;
            foreach (var entry in playerEntries)
            {
                var profileID = entry.ProfileID;
                var displayName = entry.DisplayName;
                var avatar = entry.Avatar;
                var clanID = entry.ClanID;
                var clan = entry.ClanEntity;
                var levelInfo = entry.Level;
                var statisitcs = entry.Statistics;

                var statisticPosition = entry.StatisticPosition;
                var statisticValue = entry.StatisticValue;
            }
        }
    }
}

CBSLeaderboardModule.GetLevelLeadearboardAroundProfile - Get leaderboard around user based by player level/xp

using CBS;
using CBS.Models;
using UnityEngine;

public class LeaserboardExample : MonoBehaviour
{
    private ILeaderboard LeaderboardModule { get; set; }

    private void Start()
    {
        LeaderboardModule = CBSModule.Get<CBSLeaderboardModule>();

        var request = new CBSGetLevelLeaderboardRequest
        {
            MaxCount = 100,
            Constraints = CBSProfileConstraints.Default(),
            StartPosition = 0,
            Version = null
        };
        LeaderboardModule.GetLevelLeadearboardAroundProfile(request, OnGet);
    }

    private void OnGet(CBSGetLeaderboardResult result)
    {
        if (result.IsSuccess)
        {
            var version = result.Version;
            var nextResetDate = result.NextReset;
            var profileEntry = result.ProfileEntry;
            var playerEntries = result.Leaderboard;
            foreach (var entry in playerEntries)
            {
                var profileID = entry.ProfileID;
                var displayName = entry.DisplayName;
                var avatar = entry.Avatar;
                var clanID = entry.ClanID;
                var clan = entry.ClanEntity;
                var levelInfo = entry.Level;
                var statisitcs = entry.Statistics;

                var statisticPosition = entry.StatisticPosition;
                var statisticValue = entry.StatisticValue;
            }
        }
    }
}

CBSLeaderboardModule.GetLeadearboardByProfileID - Get leaderboard by profile id

using CBS;
using CBS.Models;
using UnityEngine;

public class LeaserboardExample : MonoBehaviour
{
    private ILeaderboard LeaderboardModule { get; set; }

    private void Start()
    {
        LeaderboardModule = CBSModule.Get<CBSLeaderboardModule>();
        
        var profileID = "some profile ID";
        var request = new CBSGetLeaderboardRequest
        {
            MaxCount = 100,
            Constraints = CBSProfileConstraints.Default(),
            StatisticName = "your statistic name",
            StartPosition = 0,
            Version = null
        };
        LeaderboardModule.GetLeadearboardByProfileID(profileID, request, OnGet);
    }

    private void OnGet(CBSGetLeaderboardResult result)
    {
        if (result.IsSuccess)
        {
            var version = result.Version;
            var nextResetDate = result.NextReset;
            var profileEntry = result.ProfileEntry;
            var playerEntries = result.Leaderboard;
            foreach (var entry in playerEntries)
            {
                var profileID = entry.ProfileID;
                var displayName = entry.DisplayName;
                var avatar = entry.Avatar;
                var clanID = entry.ClanID;
                var clan = entry.ClanEntity;
                var levelInfo = entry.Level;
                var statisitcs = entry.Statistics;

                var statisticPosition = entry.StatisticPosition;
                var statisticValue = entry.StatisticValue;
            }
        }
    }
}

CBSLeaderboardModule.GetLeadearboardAroundByProfileID - Get leaderboard around players by profile id.

using CBS;
using CBS.Models;
using UnityEngine;

public class LeaserboardExample : MonoBehaviour
{
    private ILeaderboard LeaderboardModule { get; set; }

    private void Start()
    {
        LeaderboardModule = CBSModule.Get<CBSLeaderboardModule>();
        
        var profileID = "some profile ID";
        var request = new CBSGetLeaderboardRequest
        {
            MaxCount = 100,
            Constraints = CBSProfileConstraints.Default(),
            StatisticName = "your statistic name",
            StartPosition = 0,
            Version = null
        };
        LeaderboardModule.GetLeadearboardAroundByProfileID(profileID, request, OnGet);
    }

    private void OnGet(CBSGetLeaderboardResult result)
    {
        if (result.IsSuccess)
        {
            var version = result.Version;
            var nextResetDate = result.NextReset;
            var profileEntry = result.ProfileEntry;
            var playerEntries = result.Leaderboard;
            foreach (var entry in playerEntries)
            {
                var profileID = entry.ProfileID;
                var displayName = entry.DisplayName;
                var avatar = entry.Avatar;
                var clanID = entry.ClanID;
                var clan = entry.ClanEntity;
                var levelInfo = entry.Level;
                var statisitcs = entry.Statistics;

                var statisticPosition = entry.StatisticPosition;
                var statisticValue = entry.StatisticValue;
            }
        }
    }
}

CBSLeaderboardModule.GetFriendsLeadearboard - Get friends leaderboard based by player level/xp

using CBS;
using CBS.Models;
using UnityEngine;

public class LeaserboardExample : MonoBehaviour
{
    private ILeaderboard LeaderboardModule { get; set; }

    private void Start()
    {
        LeaderboardModule = CBSModule.Get<CBSLeaderboardModule>();
        
        var request = new CBSGetLeaderboardRequest
        {
            MaxCount = 100,
            Constraints = CBSProfileConstraints.Default(),
            StatisticName = "your statistic name",
            StartPosition = 0,
            Version = null
        };
        LeaderboardModule.GetFriendsLeadearboard(request, OnGet);
    }

    private void OnGet(CBSGetLeaderboardResult result)
    {
        if (result.IsSuccess)
        {
            var version = result.Version;
            var nextResetDate = result.NextReset;
            var profileEntry = result.ProfileEntry;
            var playerEntries = result.Leaderboard;
            foreach (var entry in playerEntries)
            {
                var profileID = entry.ProfileID;
                var displayName = entry.DisplayName;
                var avatar = entry.Avatar;
                var clanID = entry.ClanID;
                var clan = entry.ClanEntity;
                var levelInfo = entry.Level;
                var statisitcs = entry.Statistics;

                var statisticPosition = entry.StatisticPosition;
                var statisticValue = entry.StatisticValue;
            }
        }
    }
}

CBSLeaderboardModule.UpdateStatisticPoint - Update statisitc points by statistic name

using CBS;
using CBS.Models;
using UnityEngine;

public class LeaserboardExample : MonoBehaviour
{
    private ILeaderboard LeaderboardModule { get; set; }

    private void Start()
    {
        LeaderboardModule = CBSModule.Get<CBSLeaderboardModule>();

        var statisticName = "your statisitc name";
        var valueToUpdate = 10;
        LeaderboardModule.UpdateStatisticPoint(statisticName, valueToUpdate, OnUpdate);
    }

    private void OnUpdate(CBSUpdateStatisticResult result)
    {
        if (result.IsSuccess)
        {
            var profileID = result.StatisticName;
            var statisitcNAme = result.StatisticName;
            var updatedPosition = result.StatisticPosition;
            var updatedValue = result.StatisticValue;
        }
    }
}

CBSLeaderboardModule.AddStatisticPoint - Add statisitc points by statistic name

using CBS;
using CBS.Models;
using UnityEngine;

public class LeaserboardExample : MonoBehaviour
{
    private ILeaderboard LeaderboardModule { get; set; }

    private void Start()
    {
        LeaderboardModule = CBSModule.Get<CBSLeaderboardModule>();

        var statisticName = "your statisitc name";
        var valueToUpdate = 10;
        LeaderboardModule.AddStatisticPoint(statisticName, valueToUpdate, OnUpdate);
    }

    private void OnUpdate(CBSUpdateStatisticResult result)
    {
        if (result.IsSuccess)
        {
            var profileID = result.StatisticName;
            var statisitcNAme = result.StatisticName;
            var updatedPosition = result.StatisticPosition;
            var updatedValue = result.StatisticValue;
        }
    }
}

CBSLeaderboardModule.ResetAllProfileStatistics - Reset all players statistics, include all leaderboards and player exp/level.

using CBS;
using CBS.Models;
using UnityEngine;

public class LeaserboardExample : MonoBehaviour
{
    private ILeaderboard LeaderboardModule { get; set; }

    private void Start()
    {
        LeaderboardModule = CBSModule.Get<CBSLeaderboardModule>();
        
        LeaderboardModule.ResetAllProfileStatistics(OnReset);
    }

    private void OnReset(CBSBaseResult result)
    {
        if (result.IsSuccess)
        {
            Debug.Log("All statistics reseted");
        }
    }
}

CBSLeaderboardModule.GetLeaderboardAroundClan - Get leaderboard around clan

using CBS;
using CBS.Models;
using UnityEngine;

public class LeaserboardExample : MonoBehaviour
{
    private ILeaderboard LeaderboardModule { get; set; }

    private void Start()
    {
        LeaderboardModule = CBSModule.Get<CBSLeaderboardModule>();

        var clanID = "some clan ID";
        var request = new CBSGetClanLeaderboardRequest()
        {
            MaxCount = 100,
            Constraints = CBSClanConstraints.Default(),
            StatisticName = "your statistic name",
            StartPosition = 0,
            Version = null
        };
        LeaderboardModule.GetLeaderboardAroundClan(clanID, request, OnGet);
    }

    private void OnGet(CBSGetClanLeaderboardResult result)
    {
        if (result.IsSuccess)
        {
            var clanEntry = result.ClanEntry;
            var nextResetDate = result.NextReset;
            var version = result.Version;
            var leaderboard = result.Leaderboard;
            foreach (var clanLeaderboardEntry in leaderboard)
            {
                var clanID = clanLeaderboardEntry.ClanID;
                var displayName = clanLeaderboardEntry.DisplayName;
                var description = clanLeaderboardEntry.Description;
                var membersCount = clanLeaderboardEntry.MembersCount;
                var visibility = clanLeaderboardEntry.Visibility;
                var clanAvatar = clanLeaderboardEntry.Avatar;
                var clanLevel = clanLeaderboardEntry.LevelInfo;
                var clanStatistics = clanLeaderboardEntry.Statistics;
                var clanData = clanLeaderboardEntry.ClanData;

                var clanPosition = clanLeaderboardEntry.StatisticPosition;
                var clanValue = clanLeaderboardEntry.StatisticValue;
            }
        }
    }
}

CBSLeaderboardModule.GetClanLeaderboard - Get clans leaderboard

using CBS;
using CBS.Models;
using UnityEngine;

public class LeaserboardExample : MonoBehaviour
{
    private ILeaderboard LeaderboardModule { get; set; }

    private void Start()
    {
        LeaderboardModule = CBSModule.Get<CBSLeaderboardModule>();
        
        var request = new CBSGetClanLeaderboardRequest()
        {
            MaxCount = 100,
            Constraints = CBSClanConstraints.Default(),
            StatisticName = "your statistic name",
            StartPosition = 0,
            Version = null
        };
        LeaderboardModule.GetClanLeaderboard(request, OnGet);
    }

    private void OnGet(CBSGetClanLeaderboardResult result)
    {
        if (result.IsSuccess)
        {
            var clanEntry = result.ClanEntry;
            var nextResetDate = result.NextReset;
            var version = result.Version;
            var leaderboard = result.Leaderboard;
            foreach (var clanLeaderboardEntry in leaderboard)
            {
                var clanID = clanLeaderboardEntry.ClanID;
                var displayName = clanLeaderboardEntry.DisplayName;
                var description = clanLeaderboardEntry.Description;
                var membersCount = clanLeaderboardEntry.MembersCount;
                var visibility = clanLeaderboardEntry.Visibility;
                var clanAvatar = clanLeaderboardEntry.Avatar;
                var clanLevel = clanLeaderboardEntry.LevelInfo;
                var clanStatistics = clanLeaderboardEntry.Statistics;
                var clanData = clanLeaderboardEntry.ClanData;

                var clanPosition = clanLeaderboardEntry.StatisticPosition;
                var clanValue = clanLeaderboardEntry.StatisticValue;
            }
        }
    }
}

CBSLeaderboardModule.AddClanStatisticPoint - Add clan statistic point of current profile clan

using CBS;
using CBS.Models;
using UnityEngine;

public class LeaserboardExample : MonoBehaviour
{
    private ILeaderboard LeaderboardModule { get; set; }

    private void Start()
    {
        LeaderboardModule = CBSModule.Get<CBSLeaderboardModule>();

        var clanStatisitcName = "statisitc name";
        var valueToAdd = 10;
        LeaderboardModule.AddClanStatisticPoint(clanStatisitcName, valueToAdd, OnUpdate);
    }

    private void OnUpdate(CBSUpdateClanStatisticResult result)
    {
        if (result.IsSuccess)
        {
            var clanID = result.ClanID;
            var statisitcName = result.StatisticName;
            var updatedPosition = result.StatisticPosition;
            var updatedValue = result.StatisticValue;
        }
    }
}

CBSLeaderboardModule.UpdateClanStatisticPoint - Update clan statistic point of current profile clan

using CBS;
using CBS.Models;
using UnityEngine;

public class LeaserboardExample : MonoBehaviour
{
    private ILeaderboard LeaderboardModule { get; set; }

    private void Start()
    {
        LeaderboardModule = CBSModule.Get<CBSLeaderboardModule>();

        var clanStatisitcName = "statisitc name";
        var valueToAdd = 10;
        LeaderboardModule.UpdateClanStatisticPoint(clanStatisitcName, valueToAdd, OnUpdate);
    }

    private void OnUpdate(CBSUpdateClanStatisticResult result)
    {
        if (result.IsSuccess)
        {
            var clanID = result.ClanID;
            var statisitcName = result.StatisticName;
            var updatedPosition = result.StatisticPosition;
            var updatedValue = result.StatisticValue;
        }
    }
}

Last updated