public void NoTargetsTest()
        {
            ObservableCollection <string> coll = new ObservableCollection <string>(new[] { "This", "is", "a", "test" });
            var observer = new CollectionObserver(coll);

            coll.Add("Test");
        }
Exemplo n.º 2
0
    private void Awake()
    {
        mGame = new Game(SavedPlayer, Level);
        mGame.LevelComplete += GameOnLevelComplete;

        var mapViewGO = Instantiate(MapViewPrefab);

        mapViewGO.transform.SetParent(transform);

        MapView = mapViewGO.GetComponentInChildren <MapView>();
        MapView.Load(mGame.Map, this);

        var playerInst = Instantiate(PlayerPrefab);

        playerInst.transform.SetParent(mapViewGO.transform);

        PlayerView = playerInst.GetComponentInChildren <PlayerView>();
        PlayerView.Load(mGame.Player, this);

        GenerateViewsByInfo(MapView.Monsters.transform, MonsterInfos, mGame.Monsters);
        var skills = new List <SkillView>();

        GenerateViewsByInfo(MapView.Skills.transform, SkillInfos, mGame.AllSkills, view => skills.Add(view as SkillView));
        AllSkills = skills.AsReadOnly();

        mItemsObserver          = new CollectionObserver <Item>(mGame.Items.Keys);
        mItemsObserver.Added   += ItemAdded;
        mItemsObserver.Removed += ItemRemoved;
    }
Exemplo n.º 3
0
 public ListChangedCommand(CollectionObserver collection, NotifyCollectionChangedEventArgs e)
 {
     if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
     {
         foreach (var item in e.NewItems)
         {
             snapshot = new Snapshot()
             {
                 Collection = collection,
                 NewState = DataState.Created,
                 NewValue = item,
                 Index = e.NewStartingIndex
             };
         }
     }
     else if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Remove)
     {
         foreach (var item in e.OldItems)
         {
             snapshot = new Snapshot()
             {
                 Collection = collection,
                 NewState = DataState.Deleted,
                 OldValue = item,
                 Index = e.OldStartingIndex
             };
         }
     }
 }
        public void DisposeTest()
        {
            ObservableCollection <string> coll = new ObservableCollection <string>(new[] { "This", "is", "a", "test" });
            ReceiverTest test     = new ReceiverTest();
            var          observer = new CollectionObserver(coll);

            observer.CollectionChanged += test.OnObserver;

            observer.Dispose();
            coll.Clear();
            Assert.AreEqual(0, test.List.Count);
        }
Exemplo n.º 5
0
        public override void Load <T>(T model, Root root)
        {
            base.Load(model, root);

            if (mParticlesObserver != null)
            {
                mParticlesObserver.Added   -= BulledsObserverOnAdded;
                mParticlesObserver.Removed -= BulledsObserverOnRemoved;
            }
            mParticlesObserver          = new CollectionObserver <TParticle>(GetParticles(model));
            mParticlesObserver.Added   += BulledsObserverOnAdded;
            mParticlesObserver.Removed += BulledsObserverOnRemoved;
        }
        public void BadEventTargetTest()
        {
            ObservableCollection <string> coll = new ObservableCollection <string>(new[] { "This", "is", "a", "test" });
            var observer = new CollectionObserver(coll);

            observer.CollectionChanged += (s, e) => { throw new Exception("boom!"); };
            ReceiverTest test = new ReceiverTest();

            observer.CollectionChanged += test.OnObserver;

            coll.Add("Test");
            coll.Clear();
            Assert.AreEqual(2, test.List.Count);
        }
        /// <inheritdoc />
        public AggregationsExampleContext()
        {
            this.anyEqualsTestProperty =
                CollectionAggregation.Any <AggregationsExampleTextContext, string>(this.Texts, item => item.TextProperty, text => Equals(text, "Test"));
            this.sumProperty = CollectionAggregation.Sum(this.Texts, item =>
            {
                float number;
                return(float.TryParse(item.Text, out number) ? number : 0.0f);
            });

            var textsObserver = new CollectionObserver <AggregationsExampleTextContext>();

            textsObserver.RegisterItem   += item => item.Remove += this.OnRemoveText;
            textsObserver.UnregisterItem += item => item.Remove -= this.OnRemoveText;
            textsObserver.Init(this.Texts);
        }
        public void CollectionObserverTest()
        {
            ObservableCollection <string> coll = new ObservableCollection <string>(new [] { "This", "is", "a", "test" });
            ReceiverTest test     = new ReceiverTest();
            var          observer = new CollectionObserver(coll);

            observer.CollectionChanged += test.OnObserver;

            coll.RemoveAt(0);
            coll.Add("of");
            coll.Clear();

            Assert.AreEqual(3, test.List.Count);
            Assert.AreEqual(NotifyCollectionChangedAction.Remove, test.List[0].Action);
            Assert.AreEqual(NotifyCollectionChangedAction.Add, test.List[1].Action);
            Assert.AreEqual(NotifyCollectionChangedAction.Reset, test.List[2].Action);
        }
        public void GCDisposeTest()
        {
            ObservableCollection <string> coll = new ObservableCollection <string>(new[] { "This", "is", "a", "test" });
            WeakReference weakReference        = new WeakReference(coll);
            ReceiverTest  test     = new ReceiverTest();
            var           observer = new CollectionObserver(coll);

            observer.CollectionChanged += test.OnObserver;

            observer.Dispose();
            coll = null;
            Assert.AreEqual(0, test.List.Count);
            test = null;
            GC.Collect(2, GCCollectionMode.Forced);

            Assert.IsFalse(weakReference.IsAlive);
        }
Exemplo n.º 10
0
 void Awake()
 {
     mBugObserver          = new CollectionObserver <Item>(Root.PlayerView.Model <Player>().Inventory.Bag);
     mBugObserver.Added   += BugObserverOnAdded;
     mBugObserver.Removed += BugObserverOnRemoved;
 }
 public void NullCollectionTest()
 {
     var observer = new CollectionObserver(null);
 }