public void ExtractInactiveGameObject()
        {
            UnityEventListenerMock sourceExtractedMock = new UnityEventListenerMock();
            UnityEventListenerMock targetExtractedMock = new UnityEventListenerMock();

            subject.SourceExtracted.AddListener(sourceExtractedMock.Listen);
            subject.TargetExtracted.AddListener(targetExtractedMock.Listen);

            TransformData sourceData = new TransformData();
            TransformData targetData = new TransformData();

            TransformPropertyApplier.EventData eventData = new TransformPropertyApplier.EventData();
            eventData.Set(sourceData, targetData);

            subject.gameObject.SetActive(false);

            Assert.IsFalse(sourceExtractedMock.Received);
            Assert.IsFalse(targetExtractedMock.Received);
            Assert.IsNull(subject.SourceResult);
            Assert.IsNull(subject.TargetResult);

            subject.Extract(eventData);

            Assert.IsFalse(sourceExtractedMock.Received);
            Assert.IsFalse(targetExtractedMock.Received);
            Assert.IsNull(subject.SourceResult);
            Assert.IsNull(subject.TargetResult);
        }
 public void SyncWithTeleport(TransformPropertyApplier.EventData data)
 {
     if (!teleported)
     {
         internalPointerLogic.SetActive(false);
         teleported = true;
         StartCoroutine(TeleportTimeout());
     }
     temp = data.EventTarget.Rotation * Vector3.forward;
 }
        public virtual void Extract(TransformPropertyApplier.EventData eventData)
        {
            if (eventData == null)
            {
                return;
            }

            SourceResult = eventData.EventSource;
            SourceExtracted?.Invoke(SourceResult);
            TargetResult = eventData.EventTarget;
            TargetExtracted?.Invoke(TargetResult);
        }
Пример #4
0
 /// <summary>
 /// Notifies that the teleporter has completed.
 /// </summary>
 /// <param name="data">The location data.</param>
 public virtual void NotifyTeleported(TransformPropertyApplier.EventData data)
 {
     facade?.Teleported.Invoke(data);
 }
Пример #5
0
 /// <summary>
 /// Notifies that the teleporter is about to initiate.
 /// </summary>
 /// <param name="data">The location data.</param>
 public virtual void NotifyTeleporting(TransformPropertyApplier.EventData data)
 {
     Facade.Teleporting?.Invoke(data);
 }