public async Task <bool> IsFeatureUnlocked() { ProgressionSystem progrSys = IoC.inject.Get <ProgressionSystem>(this); if (progrSys == null) { return(true); } // No progr. system in place return(await progrSys.IsFeatureUnlocked(this)); }
public static async Task <ProgressionSystem <FeatureFlag> > Setup(KeyValueStoreTypeAdapter <FeatureFlag> featureFlagStore, LocalAnalytics analytics) { var ffm = new FeatureFlagManager <FeatureFlag>(featureFlagStore); IoC.inject.SetSingleton(ffm); AppFlow.AddAppFlowTracker(new AppFlowToStore(analytics).WithBasicTrackingActive()); var xpSystem = new ProgressionSystem <FeatureFlag>(analytics, ffm); IoC.inject.SetSingleton <IProgressionSystem <FeatureFlag> >(xpSystem); await xpSystem.UpdateCurrentCategoryCounts(); return(xpSystem); }