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); } } }