API
CBSAchievementsModule.GetAchievementsTable - Get information for all achievements and their player state.
using CBS;
using CBS.Models;
using UnityEngine;
public class AchievementsExample : MonoBehaviour
{
private IAchievements AchievementModule { get; set; }
private void Start()
{
AchievementModule = CBSModule.Get<CBSAchievementsModule>();
AchievementModule.GetAchievementsTable(OnGet);
}
private void OnGet(CBSGetAchievementsTableResult result)
{
if (result.IsSuccess)
{
var achievementsData = result.AchievementsData;
var achievements = achievementsData.Tasks;
var autoReward = achievementsData.AutomaticReward;
var deliveryType = achievementsData.RewardDelivery;
foreach (var achievement in achievements)
{
var id = achievement.ID;
var title = achievement.Title;
var description = achievement.Description;
var tag = achievement.Tag;
var poolID = achievement.PoolID;
var type = achievement.Type;
var steps = achievement.Steps;
var isLockedByLevel = achievement.IsLockedByLevel;
var lockLevel = achievement.LockLevel;
var levelFilter = achievement.LevelFilter;
var externalUrl = achievement.ExternalUrl;
var reward = achievement.Reward;
var tierList = achievement.TierList;
var isComplete = achievement.IsComplete;
var isAvailable = achievement.IsAvailable;
var rewarded = achievement.Rewarded;
var tierIndex = achievement.TierIndex;
var currentStep = achievement.CurrentStep;
var currentTier = achievement.CurrentTier;
var customData = achievement.GetCustomData<CBSTaskCustomData>();
}
}
}
}
CBSAchievementsModule.GetActiveAchievementsTable - Get information for all available achievements for player achievements.
using CBS;
using CBS.Models;
using UnityEngine;
public class AchievementsExample : MonoBehaviour
{
private IAchievements AchievementModule { get; set; }
private void Start()
{
AchievementModule = CBSModule.Get<CBSAchievementsModule>();
AchievementModule.GetActiveAchievementsTable(OnGet);
}
private void OnGet(CBSGetAchievementsTableResult result)
{
if (result.IsSuccess)
{
var achievementsData = result.AchievementsData;
var achievements = achievementsData.Tasks;
var autoReward = achievementsData.AutomaticReward;
var deliveryType = achievementsData.RewardDelivery;
foreach (var achievement in achievements)
{
var id = achievement.ID;
var title = achievement.Title;
var description = achievement.Description;
var tag = achievement.Tag;
var poolID = achievement.PoolID;
var type = achievement.Type;
var steps = achievement.Steps;
var isLockedByLevel = achievement.IsLockedByLevel;
var lockLevel = achievement.LockLevel;
var levelFilter = achievement.LevelFilter;
var externalUrl = achievement.ExternalUrl;
var reward = achievement.Reward;
var tierList = achievement.TierList;
var isComplete = achievement.IsComplete;
var isAvailable = achievement.IsAvailable;
var rewarded = achievement.Rewarded;
var tierIndex = achievement.TierIndex;
var currentStep = achievement.CurrentStep;
var currentTier = achievement.CurrentTier;
var customData = achievement.GetCustomData<CBSTaskCustomData>();
}
}
}
}
CBSAchievementsModule.GetCompletedAchievementsTable - Get information for all completed achievements for player achievements
using CBS;
using CBS.Models;
using UnityEngine;
public class AchievementsExample : MonoBehaviour
{
private IAchievements AchievementModule { get; set; }
private void Start()
{
AchievementModule = CBSModule.Get<CBSAchievementsModule>();
AchievementModule.GetCompletedAchievementsTable(OnGet);
}
private void OnGet(CBSGetAchievementsTableResult result)
{
if (result.IsSuccess)
{
var achievementsData = result.AchievementsData;
var achievements = achievementsData.Tasks;
var autoReward = achievementsData.AutomaticReward;
var deliveryType = achievementsData.RewardDelivery;
foreach (var achievement in achievements)
{
var id = achievement.ID;
var title = achievement.Title;
var description = achievement.Description;
var tag = achievement.Tag;
var poolID = achievement.PoolID;
var type = achievement.Type;
var steps = achievement.Steps;
var isLockedByLevel = achievement.IsLockedByLevel;
var lockLevel = achievement.LockLevel;
var levelFilter = achievement.LevelFilter;
var externalUrl = achievement.ExternalUrl;
var reward = achievement.Reward;
var tierList = achievement.TierList;
var isComplete = achievement.IsComplete;
var isAvailable = achievement.IsAvailable;
var rewarded = achievement.Rewarded;
var tierIndex = achievement.TierIndex;
var currentStep = achievement.CurrentStep;
var currentTier = achievement.CurrentTier;
var customData = achievement.GetCustomData<CBSTaskCustomData>();
}
}
}
}
CBSAchievementsModule.AddAchievementPoint - Adds a point to an achievement. For Achievements "OneShot" completes it immediately, for Achievements "Steps" - adds one step
using CBS;
using CBS.Models;
using UnityEngine;
public class AchievementsExample : MonoBehaviour
{
private IAchievements AchievementModule { get; set; }
private void Start()
{
AchievementModule = CBSModule.Get<CBSAchievementsModule>();
var achievementID = "your achievement ID";
AchievementModule.AddAchievementPoint(achievementID, OnAdd);
}
private void OnAdd(CBSModifyAchievementPointResult result)
{
if (result.IsSuccess)
{
var updatedAchievement = result.Achievement;
var completed = result.CompleteAchievement;
var completeTier = result.CompleteTier;
var rewardResult = result.ReceivedReward;
}
}
}
CBSAchievementsModule.AddAchievementPoint - Adds the points you specified to the achievement. More suitable for Steps achievements.
using CBS;
using CBS.Models;
using UnityEngine;
public class AchievementsExample : MonoBehaviour
{
private IAchievements AchievementModule { get; set; }
private void Start()
{
AchievementModule = CBSModule.Get<CBSAchievementsModule>();
var achievementID = "your achievement ID";
var pointsToAdd = 10;
AchievementModule.AddAchievementPoint(achievementID, pointsToAdd, OnAdd);
}
private void OnAdd(CBSModifyAchievementPointResult result)
{
if (result.IsSuccess)
{
var updatedAchievement = result.Achievement;
var completed = result.CompleteAchievement;
var completeTier = result.CompleteTier;
var rewardResult = result.ReceivedReward;
}
}
}
CBSAchievementsModule.UpdateAchievementPoint - Updates the achievement points you specified. More suitable for Steps achievements.
using CBS;
using CBS.Models;
using UnityEngine;
public class AchievementsExample : MonoBehaviour
{
private IAchievements AchievementModule { get; set; }
private void Start()
{
AchievementModule = CBSModule.Get<CBSAchievementsModule>();
var achievementID = "your achievement ID";
var pointsToUpdate = 10;
AchievementModule.UpdateAchievementPoint(achievementID, pointsToUpdate, OnUpdate);
}
private void OnUpdate(CBSModifyAchievementPointResult result)
{
if (result.IsSuccess)
{
var updatedAchievement = result.Achievement;
var completed = result.CompleteAchievement;
var completeTier = result.CompleteTier;
var rewardResult = result.ReceivedReward;
}
}
}
CBSAchievementsModule.PickupAchievementReward - Pick up a reward from a completed achievement if it hasn't been picked up before.
using CBS;
using CBS.Models;
using UnityEngine;
public class AchievementsExample : MonoBehaviour
{
private IAchievements AchievementModule { get; set; }
private void Start()
{
AchievementModule = CBSModule.Get<CBSAchievementsModule>();
var achievementID = "your achievement ID";
AchievementModule.PickupAchievementReward(achievementID, OnGet);
}
private void OnGet(CBSPickupAchievementRewardResult result)
{
if (result.IsSuccess)
{
var updatedAchievement = result.Achievement;
var rewardResult = result.ReceivedReward;
var grantedInstances = rewardResult.GrantedInstances;
var grantedCurrencies = rewardResult.GrantedCurrencies;
}
}
}
CBSAchievementsModule.ResetAchievement - Reset the state of profile for a specific achievement.
using CBS;
using CBS.Models;
using UnityEngine;
public class AchievementsExample : MonoBehaviour
{
private IAchievements AchievementModule { get; set; }
private void Start()
{
AchievementModule = CBSModule.Get<CBSAchievementsModule>();
var achievementID = "your achievement ID";
AchievementModule.ResetAchievement(achievementID, OnReset);
}
private void OnReset(CBSResetAchievementResult result)
{
if (result.IsSuccess)
{
var updatedAchievement = result.Achievement;
}
}
}
CBSAchievementsModule.GetAchievementsBadge - Get the number of completed achievements that did not receive rewards
using CBS;
using CBS.Models;
using UnityEngine;
public class AchievementsExample : MonoBehaviour
{
private IAchievements AchievementModule { get; set; }
private void Start()
{
AchievementModule = CBSModule.Get<CBSAchievementsModule>();
AchievementModule.GetAchievementsBadge(OnGet);
}
private void OnGet(CBSBadgeResult result)
{
if (result.IsSuccess)
{
var completedAndNotRewaredAchievementsCount = result.Count;
}
}
}
Last updated