public ProgressionSystem(LocalAnalytics analytics, FeatureFlagManager <T> featureFlagManager) { // Make sure the FeatureFlag system was set up too: AssertV2.IsNotNull(FeatureFlagManager <T> .instance, "FeatureFlagManager.instance"); this.analytics = analytics; this.featureFlagManager = featureFlagManager; }
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); }