API
CBSProfileTasksModule.GetAllTasksFromPool - Get list of all tasks from pool.
using CBS;
using CBS.Models;
using UnityEngine;
public class ProfileTasksExample : MonoBehaviour
{
private IProfileTasks ProfileTasksModule { get; set; }
private void Start()
{
ProfileTasksModule = CBSModule.Get<CBSProfileTasksModule>();
var profileTasksPoolID = "tasks pool id";
ProfileTasksModule.GetAllTasksFromPool(profileTasksPoolID, OnGet);
}
private void OnGet(CBSGetTasksFromPoolResult result)
{
if (result.IsSuccess)
{
var tasks = result.Tasks;
foreach (var task in tasks)
{
var id = task.ID;
var title = task.Title;
var description = task.Description;
var tag = task.Tag;
var poolID = task.PoolID;
var type = task.Type;
var steps = task.Steps;
var isLockedByLevel = task.IsLockedByLevel;
var lockLevel = task.LockLevel;
var levelFilter = task.LevelFilter;
var externalUrl = task.ExternalUrl;
var reward = task.Reward;
var tierList = task.TierList;
var weight = task.Weight;
var isComplete = task.IsComplete;
var isAvailable = task.IsAvailable;
var rewarded = task.Rewarded;
var tierIndex = task.TierIndex;
var currentStep = task.CurrentStep;
var currentTier = task.CurrentTier;
var customData = task.GetCustomData<CBSTaskCustomData>();
}
}
}
}
CBSProfileTasksModule.GetTasksForProfile - Get tasks available for profile from pool
using CBS;
using CBS.Models;
using UnityEngine;
public class ProfileTasksExample : MonoBehaviour
{
private IProfileTasks ProfileTasksModule { get; set; }
private void Start()
{
ProfileTasksModule = CBSModule.Get<CBSProfileTasksModule>();
var profileTasksPoolID = "tasks pool id";
ProfileTasksModule.GetTasksForProfile(profileTasksPoolID, OnGet);
}
private void OnGet(CBSGetTasksForProfileResult result)
{
if (result.IsSuccess)
{
var tasks = result.Tasks;
var resetDate = result.ResetDate;
foreach (var task in tasks)
{
var id = task.ID;
var title = task.Title;
var description = task.Description;
var tag = task.Tag;
var poolID = task.PoolID;
var type = task.Type;
var steps = task.Steps;
var isLockedByLevel = task.IsLockedByLevel;
var lockLevel = task.LockLevel;
var levelFilter = task.LevelFilter;
var externalUrl = task.ExternalUrl;
var reward = task.Reward;
var tierList = task.TierList;
var weight = task.Weight;
var isComplete = task.IsComplete;
var isAvailable = task.IsAvailable;
var rewarded = task.Rewarded;
var tierIndex = task.TierIndex;
var currentStep = task.CurrentStep;
var currentTier = task.CurrentTier;
var customData = task.GetCustomData<CBSTaskCustomData>();
}
}
}
}
CBSProfileTasksModule.AddTaskPoint - Adds a point to an task. For Tasks "OneShot" completes it immediately, for Tasks "Steps" - adds one step
using CBS;
using CBS.Models;
using UnityEngine;
public class ProfileTasksExample : MonoBehaviour
{
private IProfileTasks ProfileTasksModule { get; set; }
private void Start()
{
ProfileTasksModule = CBSModule.Get<CBSProfileTasksModule>();
var profileTasksPoolID = "tasks pool id";
var taskID = "your task ID";
ProfileTasksModule.AddTaskPoint(profileTasksPoolID, taskID, OnAdd);
}
private void OnAdd(CBSModifyProfileTaskPointsResult result)
{
if (result.IsSuccess)
{
var updatedAchievement = result.Task;
var completed = result.CompleteTask;
var completeTier = result.CompleteTier;
var rewardResult = result.ReceivedReward;
}
}
}
CBSProfileTasksModule.AddTaskPoints - Adds the points you specified to the task. More suitable for Steps task.
using CBS;
using CBS.Models;
using UnityEngine;
public class ProfileTasksExample : MonoBehaviour
{
private IProfileTasks ProfileTasksModule { get; set; }
private void Start()
{
ProfileTasksModule = CBSModule.Get<CBSProfileTasksModule>();
var profileTasksPoolID = "tasks pool id";
var taskID = "your task ID";
var pointsToAdd = 10;
ProfileTasksModule.AddTaskPoints(profileTasksPoolID, taskID, pointsToAdd, OnAdd);
}
private void OnAdd(CBSModifyProfileTaskPointsResult result)
{
if (result.IsSuccess)
{
var updatedAchievement = result.Task;
var completed = result.CompleteTask;
var completeTier = result.CompleteTier;
var rewardResult = result.ReceivedReward;
}
}
}
CBSProfileTasksModule.UpdateTaskPoint - Updates the task points you specified. More suitable for Steps tasks.
using CBS;
using CBS.Models;
using UnityEngine;
public class ProfileTasksExample : MonoBehaviour
{
private IProfileTasks ProfileTasksModule { get; set; }
private void Start()
{
ProfileTasksModule = CBSModule.Get<CBSProfileTasksModule>();
var profileTasksPoolID = "tasks pool id";
var taskID = "your task ID";
var pointsToAdd = 10;
ProfileTasksModule.UpdateTaskPoint(profileTasksPoolID, taskID, pointsToAdd, OnUpdate);
}
private void OnUpdate(CBSModifyProfileTaskPointsResult result)
{
if (result.IsSuccess)
{
var updatedTask = result.Task;
var completed = result.CompleteTask;
var completeTier = result.CompleteTier;
var rewardResult = result.ReceivedReward;
}
}
}
CBSProfileTasksModule.AddMultiplicityTasksPoint - Adds a points to multiplicity task. For Tasks "OneShot" completes it immediately, for Tasks "Steps" - adds one step
using System.Collections.Generic;
using CBS;
using CBS.Models;
using UnityEngine;
public class ProfileTasksExample : MonoBehaviour
{
private IProfileTasks ProfileTasksModule { get; set; }
private void Start()
{
ProfileTasksModule = CBSModule.Get<CBSProfileTasksModule>();
var profileTasksPoolID = "tasks pool id";
var tasksUpdateEntry = new Dictionary<string, int>();
tasksUpdateEntry["task 1"] = 2;
tasksUpdateEntry["task 2"] = 5;
tasksUpdateEntry["task 3"] = 8;
ProfileTasksModule.AddMultiplicityTasksPoint(profileTasksPoolID, tasksUpdateEntry, OnAdd);
}
private void OnAdd(CBSModifyProfileMultiplyTaskResult result)
{
if (result.IsSuccess)
{
foreach (var taskResultPair in result.TasksResults)
{
var taskResult = taskResultPair.Value;
var updatedTask = taskResult.Task;
var completed = taskResult.CompleteTask;
var completeTier = taskResult.CompleteTier;
var rewardResult = taskResult.ReceivedReward;
}
}
}
}
using System.Collections.Generic;
using CBS;
using CBS.Models;
using UnityEngine;
public class ProfileTasksExample : MonoBehaviour
{
private IProfileTasks ProfileTasksModule { get; set; }
private void Start()
{
ProfileTasksModule = CBSModule.Get<CBSProfileTasksModule>();
var profileTasksPoolID = "tasks pool id";
var tasksUpdateEntry = new Dictionary<string, int>();
tasksUpdateEntry["task 1"] = 2;
tasksUpdateEntry["task 2"] = 5;
tasksUpdateEntry["task 3"] = 8;
ProfileTasksModule.UpdateMultiplicityTasksPoint(profileTasksPoolID, tasksUpdateEntry, OnUpdate);
}
private void OnUpdate(CBSModifyProfileMultiplyTaskResult result)
{
if (result.IsSuccess)
{
foreach (var taskResultPair in result.TasksResults)
{
var taskResult = taskResultPair.Value;
var updatedTask = taskResult.Task;
var completed = taskResult.CompleteTask;
var completeTier = taskResult.CompleteTier;
var rewardResult = taskResult.ReceivedReward;
}
}
}
}
CBSProfileTasksModule.PickupTaskReward - Pick up a reward from a completed task if it hasn't been picked up before.
using CBS;
using CBS.Models;
using UnityEngine;
public class ProfileTasksExample : MonoBehaviour
{
private IProfileTasks ProfileTasksModule { get; set; }
private void Start()
{
ProfileTasksModule = CBSModule.Get<CBSProfileTasksModule>();
var profileTasksPoolID = "tasks pool id";
var taskID = "task id";
ProfileTasksModule.PickupTaskReward(profileTasksPoolID, taskID, OnGet);
}
private void OnGet(CBSModifyProfileTaskPointsResult result)
{
if (result.IsSuccess)
{
var updatedTask = result.Task;
var completeTask = result.CompleteTask;
var completeTier = result.CompleteTier;
var rewardResult = result.ReceivedReward;
}
}
}
CBSProfileTasksModule.ResetAndGetNewTasks - Reset tasks states for pool and get new random tasks.
using CBS;
using CBS.Models;
using UnityEngine;
public class ProfileTasksExample : MonoBehaviour
{
private IProfileTasks ProfileTasksModule { get; set; }
private void Start()
{
ProfileTasksModule = CBSModule.Get<CBSProfileTasksModule>();
var profileTasksPoolID = "tasks pool id";
ProfileTasksModule.ResetAndGetNewTasks(profileTasksPoolID, OnGet);
}
private void OnGet(CBSGetTasksForProfileResult result)
{
if (result.IsSuccess)
{
var tasks = result.Tasks;
var resetDate = result.ResetDate;
foreach (var task in tasks)
{
var id = task.ID;
var title = task.Title;
var description = task.Description;
var tag = task.Tag;
var poolID = task.PoolID;
var type = task.Type;
var steps = task.Steps;
var isLockedByLevel = task.IsLockedByLevel;
var lockLevel = task.LockLevel;
var levelFilter = task.LevelFilter;
var externalUrl = task.ExternalUrl;
var reward = task.Reward;
var tierList = task.TierList;
var weight = task.Weight;
var isComplete = task.IsComplete;
var isAvailable = task.IsAvailable;
var rewarded = task.Rewarded;
var tierIndex = task.TierIndex;
var currentStep = task.CurrentStep;
var currentTier = task.CurrentTier;
var customData = task.GetCustomData<CBSTaskCustomData>();
}
}
}
}
CBSProfileTasksModule.GetTasksBadge - Get the number of completed tasks that did not receive rewards
using CBS;
using CBS.Models;
using UnityEngine;
public class ProfileTasksExample : MonoBehaviour
{
private IProfileTasks ProfileTasksModule { get; set; }
private void Start()
{
ProfileTasksModule = CBSModule.Get<CBSProfileTasksModule>();
var profileTasksPoolID = "tasks pool id";
ProfileTasksModule.GetTasksBadge(profileTasksPoolID, OnGet);
}
private void OnGet(CBSBadgeResult result)
{
if (result.IsSuccess)
{
var completedAnNotRewardedTasksCount = result.Count;
}
}
}
Last updated