75 lines
1.4 KiB
C#
75 lines
1.4 KiB
C#
using System;
|
|
using UnityEngine;
|
|
|
|
[Serializable]
|
|
public class Achievement
|
|
{
|
|
public string steamId = string.Empty;
|
|
|
|
public string nameId = string.Empty;
|
|
|
|
public string descriptionId = string.Empty;
|
|
|
|
public AchievementManager.AchievementId achievementId = AchievementManager.AchievementId.UNKNOWN;
|
|
|
|
public Fish.Species fishSpieces = Fish.Species.COUNT;
|
|
|
|
public Sprite icon;
|
|
|
|
public int points = 10;
|
|
|
|
public bool isCompleted;
|
|
|
|
public int progressStart;
|
|
|
|
public int progressCurrent;
|
|
|
|
public int progressGoal = -1;
|
|
|
|
private void Start()
|
|
{
|
|
}
|
|
|
|
public void CompleteAchievement(bool force)
|
|
{
|
|
isCompleted = true;
|
|
if (steamId == string.Empty)
|
|
{
|
|
steamId = achievementId.ToString();
|
|
}
|
|
AchievementManager.Instance.ShowAchievement(achievementId);
|
|
AchievementManager.Instance.UnlockSteamAchievement(steamId);
|
|
}
|
|
|
|
public void ResetAchievement()
|
|
{
|
|
isCompleted = false;
|
|
progressCurrent = progressStart;
|
|
if (steamId == string.Empty)
|
|
{
|
|
steamId = achievementId.ToString();
|
|
}
|
|
AchievementManager.Instance.ResetSteamAchievement(steamId);
|
|
}
|
|
|
|
public void UpdateAchievement(int progress)
|
|
{
|
|
progressCurrent += progress;
|
|
if (progressCurrent >= progressGoal)
|
|
{
|
|
progressCurrent = progressGoal;
|
|
CompleteAchievement(false);
|
|
}
|
|
}
|
|
|
|
public void SetAchievementProgress(int progress)
|
|
{
|
|
progressCurrent = progress;
|
|
if (progressCurrent >= progressGoal)
|
|
{
|
|
progressCurrent = progressGoal;
|
|
CompleteAchievement(false);
|
|
}
|
|
}
|
|
}
|