Achievements
using Databrain.Stats;
public class StatsAchievement : DataObject {}
The achievements data type lets you easily create unlockable achievements. Simply define the max score an achievement must reach to get unlocked. Use the following API to add points and listen to an unlocked event:

Create a new achievement data object.
Assign the total score and create a new OnAchievementUnlocked event.
OPTIONAL: If you have installed the Logic add-on, you can also add a custom logic which gets called on achievement unlocked.

API
Add achievement points
AddPoints(int _points);
public class AddAchievementPoints : MonoBehaviour
{
public DataLibrary data;
[DataObjectDropdown("data")]
public StatsAchievement achievement;
public int points;
// Directly add points to the achievement.
// Do not worry about initial or runtime data. The points are automatically added
// to the runtime data object
public void AddPoints()
{
achievement.AddPoints(points);
}
}
The points are automatically added to the runtime data object of the achievement data object.
OnAchievementUnlocked
Listen to the StatsEvents OnAchievementUnlocked
public class UIAchievement : MonoBehaviour
{
public DataLibrary data;
[DataObjectDropdown("data")]
public StatsEvents OnAchievementUnlocked;
public void Start()
{
data.OnDataInitialized += DataReady;
}
void DataReady()
{
// Register to the event
OnAchievementUnlocked.RegisterListener(NewAchievement);
}
// New achievement has been unlocked
void NewAchievement(StatsEventData _data)
{
var _newAchievement = _data.newAchievement;
Debug.Log("Achievement unlocked: " + _newAchievement.title);
}
}
CurrentScore
Get the current score of the achievement
IsUnlocked
Get whether achievement is unlocked or not.
Last updated