public void CollectorCanContainMixedGroupEventEntities()
        {
            _collectorA = new Collector <MyTestEntity>(
                new[]
            {
                _groupA,
                _groupB
            },
                new[]
            {
                GroupEvent.Added,
                GroupEvent.Removed
            });


            var eA = CreateEntityWithAComponent();
            var eB = CreateEntityWithBComponent();

            var entities = _collectorA.CollectedEntities;

            Assert.AreEqual(1, _collectorA.CollectedEntities.Count);
            Assert.IsTrue(_collectorA.CollectedEntities.Contains(eA));
            Assert.IsFalse(_collectorA.CollectedEntities.Contains(eB));

            _collectorA.ClearCollectedEntities();

            eA.RemoveComponentA();
            eB.RemoveComponentB();

            Assert.AreEqual(1, _collectorA.CollectedEntities.Count);
            Assert.IsFalse(_collectorA.CollectedEntities.Contains(eA));
            Assert.IsTrue(_collectorA.CollectedEntities.Contains(eB));
        }
        public void CollectorContainsEntitiesFromTwoGroupsWhenAddedOrRemoved()
        {
            _collectorA = new Collector <MyTestEntity>(
                new[]
            {
                _groupA,
                _groupB
            },
                new[]
            {
                GroupEvent.AddedOrRemoved,
                GroupEvent.AddedOrRemoved
            });

            var eA = CreateEntityWithAComponent();
            var eB = CreateEntityWithBComponent();

            Assert.AreEqual(2, _collectorA.CollectedEntities.Count);
            Assert.IsTrue(_collectorA.CollectedEntities.Contains(eA));
            Assert.IsTrue(_collectorA.CollectedEntities.Contains(eB));

            _collectorA.ClearCollectedEntities();

            eA.RemoveComponentA();
            eB.RemoveComponentB();

            Assert.AreEqual(2, _collectorA.CollectedEntities.Count);
            Assert.IsTrue(_collectorA.CollectedEntities.Contains(eA));
            Assert.IsTrue(_collectorA.CollectedEntities.Contains(eB));
        }
Пример #3
0
 private void LoadBuffer(ICollector <TEntity> collector)
 {
     foreach (var entity in collector.collectedEntities)
     {
         entity.Retain(this);
         _buffer.Add(entity);
     }
     collector.ClearCollectedEntities();
 }
        public void CollectorReferenceCountIsClearedWhenDeactivated()
        {
            _collectorA = new Collector <MyTestEntity>(_groupA, GroupEvent.Added);

            var e = CreateEntityWithAComponent();

            e.Destroy();
            _collectorA.ClearCollectedEntities();

            Assert.AreEqual(0, e.RetainCount);
        }
        public void ReplaceReaction_CollectsSecondTime()
        {
            ICollector <GameEntity> collector = m_Context.CreateCollector(
                GameMatcher.Reaction.Added());

            GameEntity attractor = m_Context.CreateEntity();

            Assert.IsFalse(collector.collectedEntities.Contains(attractor), "Before first time");

            TriggerReactionSystem.ReplaceReaction(attractor, true);
            Assert.IsTrue(collector.collectedEntities.Contains(attractor), "First time");

            collector.ClearCollectedEntities();
            TriggerReactionSystem.ReplaceReaction(attractor, true);
            Assert.IsTrue(collector.collectedEntities.Contains(attractor), "Second time");

            collector.ClearCollectedEntities();
            TriggerReactionSystem.ReplaceReaction(attractor, false);
            Assert.IsFalse(collector.collectedEntities.Contains(attractor), "Removed but not added.");
        }
Пример #6
0
    public void Execute()
    {
        foreach (var e in player1ScoreCollector.collectedEntities)
        {
            if (e.hasPlayer1Score)
            {
                //add player1score.value to getcomponent<Text>.text = "Score : "+ player1Score.value
                var currentScore = e.player1Score.points;

                bool leftScroreExists = gameContext.isScoreLeft;
                bool leftScoreHasView = gameContext.scoreLeftEntity.hasView;

                //This ask if the context is scoreRight && if the scoreRightEntity has viewComponent
                if (leftScroreExists && leftScoreHasView)
                {
                    var scoreLeft = gameContext.scoreLeftEntity.view.gameObject;

                    scoreLeft.GetComponent <Text>().text = "Score: " + currentScore;
                }
            }
        }

        foreach (var e in player2ScoreCollector.collectedEntities)
        {
            if (e.hasPlayer2Score)
            {
                var currentScore = e.player2Score.points;

                bool rightScroreExists = gameContext.isScoreRight;
                bool rightScoreHasView = gameContext.scoreRightEntity.hasView;

                //This ask if the context is scoreRight && if the scoreRightEntity has viewComponent
                if (rightScroreExists && rightScoreHasView)
                {
                    var scoreRight = gameContext.scoreRightEntity.view.gameObject;

                    scoreRight.GetComponent <Text>().text = "Score: " + currentScore;
                }
            }
        }
        player1ScoreCollector.ClearCollectedEntities();
        player2ScoreCollector.ClearCollectedEntities();
    }
        public void CollectorContainsEntitiesWhenAddedOrRemoved()
        {
            _collectorA = new Collector <MyTestEntity>(_groupA, GroupEvent.AddedOrRemoved);

            var e        = CreateEntityWithAComponent();
            var entities = _collectorA.CollectedEntities;

            // Entity should be present.
            Assert.AreEqual(1, entities.Count);
            Assert.IsTrue(entities.Contains(e));

            _collectorA.ClearCollectedEntities();

            e.RemoveComponentA();

            // Entity should be present.
            Assert.AreEqual(1, entities.Count);
            Assert.IsTrue(entities.Contains(e));
        }
        public void CollectorContentsCanBeCleared()
        {
            _collectorA = new Collector <MyTestEntity>(_groupA, GroupEvent.Added);

            var entities = _collectorA.CollectedEntities;

            // Collector should be empty
            Assert.AreEqual(0, entities.Count);

            var e = CreateEntityWithAComponent();

            // Entity should now be present.
            Assert.AreEqual(1, entities.Count);
            Assert.IsTrue(entities.Contains(e));

            // Collector should be empty after clearing
            _collectorA.ClearCollectedEntities();

            Assert.AreEqual(0, entities.Count);
        }
Пример #9
0
 /// <summary>
 /// Clears all accumulated changes.
 /// </summary>
 public void Clear()
 {
     _collector.ClearCollectedEntities();
 }
Пример #10
0
 public void Clear()
 {
     _addedCollector?.ClearCollectedEntities();
     _removedCollector?.ClearCollectedEntities();
 }