示例#1
0
    private Achievment AddAchievment(string filename, AchievmentCode achievmentCode, int maxValue)
    {
        var achievmentParametr = TryRead <AchievmentProgress>(filename, ach => new AchievmentProgress(ach));
        var achievement        = new Achievment(achievmentParametr, "Plunger", maxValue);

        achievement.OnDataChanged.Subscribe(ach => Write(filename, ach.AchievmentProgress));
        //achievement.OnDataChanged.Subscribe(ach => Debug.Log($"{ach.ProgressValue} {achievement.MaxValue}"));
        achievements.Add(achievmentCode, achievement);

        return(achievement);
    }
示例#2
0
 public Achievment Find(AchievmentCode code)
 {
     return(achievements[code]);
 }
 public static IDisposable Subscribe(this AchievmentCode achievmentCode, UnityAction <Achievment> handler)
 {
     return(DB.Data.Find(achievmentCode).OnDataChanged.Subscribe(handler));
 }
    public static UnityAction GetIncreasedHandler(this AchievmentCode achievmentCode, int increaseCount = 1)
    {
        var achievement = DB.Data.Find(achievmentCode);

        return(() => achievement.ProgressValue += increaseCount);
    }