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; }
public void OnRoutedEvent(IRoutedEvent evnt) { foreach (var scene in Scenes) { scene.OnRoutedEvent(evnt); } }
private void OnEveryEvent(IRoutedEvent evnt) { foreach (var renderControl in renderControls) { foreach (var viewport in renderControl.Viewports) { viewport.View.OnEveryEvent(evnt); } } }
private void OnEveryEvent(IRoutedEvent evnt) { if (RenderControl.Viewports == null) { return; } foreach (var viewport in RenderControl.Viewports) { viewport.View.OnEveryEvent(evnt); } }
public void OnRoutedEvent(IRoutedEvent evnt) { foreach (var component in Components) { component.OnRoutedEvent(evnt); } foreach (var childNode in ChildNodes) { childNode.OnRoutedEvent(evnt); } }
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(); } }
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); } } }
public virtual void OnRoutedEvent(IRoutedEvent evnt) { }
public void OnEveryEvent(IRoutedEvent evnt) { }