Example #1
0
 public void OnEveryEvent(IRoutedEvent evnt)
 {
     if (evnt is IWorldTreeUpdatedEvent worldTreeUpdatedEvent)
     {
         OnWorldUpdated(worldTreeUpdatedEvent.AmMessage);
     }
 }
        // todo: implement mouse-in / mouse-out interaction events instead
        public override void OnRoutedEvent(IRoutedEvent evnt)
        {
            if (!(evnt is IMouseEvent mevent))
            {
                return;
            }
            var layer = mevent.Viewport.View.Layers.FirstOrDefault(x => x.VisibleScene == Node.Scene);

            if (layer == null)
            {
                return;
            }
            var rayHitInfo  = new RayCastInfo(mevent.Viewport, layer, mevent.State.Position);
            var isMouseOver = Node.SearchComponents <IRayHittableComponent>()
                              .Any(x => x.HitWithClick(rayHitInfo).Successful);

            if (!wasMouseOver && isMouseOver)
            {
                highlightOnMouseService.OnObjectIn(this, GroupName);
            }
            else if (wasMouseOver && !isMouseOver)
            {
                highlightOnMouseService.OnObjectOut(this, GroupName);
            }
            wasMouseOver = isMouseOver;
        }
Example #3
0
 public void OnRoutedEvent(IRoutedEvent evnt)
 {
     foreach (var scene in Scenes)
     {
         scene.OnRoutedEvent(evnt);
     }
 }
Example #4
0
 private void OnEveryEvent(IRoutedEvent evnt)
 {
     foreach (var renderControl in renderControls)
     {
         foreach (var viewport in renderControl.Viewports)
         {
             viewport.View.OnEveryEvent(evnt);
         }
     }
 }
Example #5
0
 private void OnEveryEvent(IRoutedEvent evnt)
 {
     if (RenderControl.Viewports == null)
     {
         return;
     }
     foreach (var viewport in RenderControl.Viewports)
     {
         viewport.View.OnEveryEvent(evnt);
     }
 }
Example #6
0
 public void OnRoutedEvent(IRoutedEvent evnt)
 {
     foreach (var component in Components)
     {
         component.OnRoutedEvent(evnt);
     }
     foreach (var childNode in ChildNodes)
     {
         childNode.OnRoutedEvent(evnt);
     }
 }
Example #7
0
        public void OnEveryEvent(IRoutedEvent evnt)
        {
            switch (evnt)
            {
            case INavigationEvent navigationEvent:
                OnNavigationEvent(navigationEvent);
                break;

            case IUserQueryEvent userQueryEvent:
                OnQueryServiceUpdated();
                break;
            }
        }
        public void OnEveryEvent(IRoutedEvent evnt)
        {
            var navigationEvent = evnt as INavigationEvent;

            if (navigationEvent != null)
            {
                OnNavigationEvent(navigationEvent);
            }
            var userQueryEvent = evnt as IUserQueryEvent;

            if (userQueryEvent != null)
            {
                OnQueryServiceUpdated();
            }
        }
Example #9
0
 public void OnEveryEvent(IRoutedEvent evnt)
 {
     if (evnt is IWorldTreeUpdatedEvent worldChangedEvent)
     {
         if (worldChangedEvent.AmMessage.Obj <WorldHolder>().ValueChanged(x => x.World, out _))
         {
             GetCameraProps(scene, out var props, out var bounds);
             camera.SetProperties(props);
             camera.SetBounds(bounds);
         }
         else if (worldChangedEvent.AmMessage.Obj <ISceneNode>().ItemAddedOrRemoved(x => x.ChildNodes, out _))
         {
             GetCameraProps(scene, out _, out var bounds);
             camera.SetBounds(bounds);
         }
     }
 }
Example #10
0
 public virtual void OnRoutedEvent(IRoutedEvent evnt)
 {
 }
Example #11
0
 public void OnEveryEvent(IRoutedEvent evnt)
 {
 }