示例#1
0
        public NewsManager newsManager; // protected because its accessed by the list entries

        public async Task LoadNews()
        {
            AssertV2.NotNull(newsManager, "newsManager");
            var allNews = showOnlyUnread ? await newsManager.GetAllUnreadNews() : await newsManager.GetAllNews();

            this.CellData = allNews.ToList(); // This will trigger showing the list entries
        }
示例#2
0
        private void LoadImageFromUrl(Image targetImage, string urlToLoad)
        {
            AssertV2.NotNull(targetImage, "targetImage");
            var isUrlEmpty = urlToLoad.IsNullOrEmpty();

            targetImage.gameObject.GetParent().SetActiveV2(!isUrlEmpty);
            if (!isUrlEmpty)
            {
                targetImage.LoadFromUrl(urlToLoad).OnError(LogImageLoadError);
            }
        }
示例#3
0
        public override IEnumerator RunTest()
        {
            var testTracker = new TestAppFlowTracker();

            testTracker.WithAllTrackingActive();
            AppFlow.AddAppFlowTracker(testTracker);

            setupImmutableDatastore();
            // In setupImmutableDatastore() Log.MethodEntered is used, so there must be a recorded method:
            AssertV2.AreEqual(1, testTracker.recordedEvents.Count(x => x.category == EventConsts.catMethod));
            // In setupImmutableDatastore() the datastore will be set as a singleton:
            AssertV2.AreEqual(1, testTracker.recordedEvents.Count(x => x.action.Contains("DataStore")));

            var store = MyDataModel.GetStore();

            AssertV2.NotNull(store, "store");
            store.Dispatch(new ActionSetBool1()
            {
                newB = true
            });
            store.Dispatch(new ActionSetString1 {
                newS = "abc"
            });
            AssertV2.AreEqual(true, store.GetState().subSection1.bool1);
            AssertV2.AreEqual("abc", store.GetState().subSection1.string1);
            // After the 2 mutations, there should be 2 mutation AppFlow events recorded:
            AssertV2.AreEqual(2, testTracker.recordedEvents.Count(x => x.category == EventConsts.catMutation));

            var presenter = new MyDataModelPresenter();

            presenter.targetView = gameObject;
            yield return(presenter.LoadModelIntoView(store).AsCoroutine());

            // After the presenter loaded the UI there should be a load start and load end event recorded:
            AssertV2.AreEqual(2, testTracker.recordedEvents.Count(x => x.category == EventConsts.catPresenter));
            // The MyDataModelPresenter uses a GetLinkMap() when connecting to the view:
            AssertV2.AreEqual(1, testTracker.recordedEvents.Count(x => x.category == EventConsts.catLinked));

            yield return(new WaitForSeconds(1));
        }
示例#4
0
 public DefaultProgressionSystem(LocalAnalytics analytics)
 {
     // Make sure the FeatureFlag system was set up too:
     AssertV2.NotNull(FeatureFlagManager.instance, "FeatureFlagManager.instance");
     this.analytics = analytics;
 }