protected virtual void ProcessGrabAction(ActiveCollisionPublisher publisher, bool actionState)
 {
     if (grabAction?.Value != actionState)
     {
         grabAction?.Receive(actionState);
     }
     else
     {
         publisher?.Publish();
     }
 }
 protected virtual void ProcessGrabAction(ActiveCollisionPublisher publisher, bool actionState)
 {
     precognitionTimer.enabled = false;
     if (grabAction.Value != actionState)
     {
         grabAction.Receive(actionState);
     }
     if (grabAction.Value)
     {
         publisher.Publish();
     }
     precognitionTimer.enabled = true;
 }
        public void Process()
        {
            UnityEventListenerMock activatedListenerMock   = new UnityEventListenerMock();
            UnityEventListenerMock deactivatedListenerMock = new UnityEventListenerMock();
            UnityEventListenerMock changedListenerMock     = new UnityEventListenerMock();

            action.Activated.AddListener(activatedListenerMock.Listen);
            action.Deactivated.AddListener(deactivatedListenerMock.Listen);
            action.ValueChanged.AddListener(changedListenerMock.Listen);

            subject.Action = action;

            Assert.IsFalse(activatedListenerMock.Received);
            Assert.IsFalse(deactivatedListenerMock.Received);
            Assert.IsFalse(changedListenerMock.Received);

            action.Receive(true);

            Assert.IsTrue(activatedListenerMock.Received);
            Assert.IsFalse(deactivatedListenerMock.Received);
            Assert.IsTrue(changedListenerMock.Received);

            activatedListenerMock.Reset();
            deactivatedListenerMock.Reset();
            changedListenerMock.Reset();

            Assert.IsFalse(activatedListenerMock.Received);
            Assert.IsFalse(deactivatedListenerMock.Received);
            Assert.IsFalse(changedListenerMock.Received);

            subject.Process();

            Assert.IsTrue(activatedListenerMock.Received);
            Assert.IsFalse(deactivatedListenerMock.Received);
            Assert.IsTrue(changedListenerMock.Received);

            activatedListenerMock.Reset();
            deactivatedListenerMock.Reset();
            changedListenerMock.Reset();

            action.Receive(false);

            Assert.IsFalse(activatedListenerMock.Received);
            Assert.IsTrue(deactivatedListenerMock.Received);
            Assert.IsTrue(changedListenerMock.Received);

            activatedListenerMock.Reset();
            deactivatedListenerMock.Reset();
            changedListenerMock.Reset();

            subject.Process();

            Assert.IsFalse(activatedListenerMock.Received);
            Assert.IsTrue(deactivatedListenerMock.Received);
            Assert.IsTrue(changedListenerMock.Received);
        }
Example #4
0
 public void GrabActivated()
 {
     grabAction.Receive(true);
 }