public void SetWidgetModeUI(WidgetMode mode) { MoveMenuItem.Checked = (mode == WidgetMode.Position); MoveMenuItem.BackColor = (mode == WidgetMode.Position) ? SystemColors.GradientActiveCaption : SystemColors.Control; RotateMenuItem.Checked = (mode == WidgetMode.Rotation); RotateMenuItem.BackColor = (mode == WidgetMode.Rotation) ? SystemColors.GradientActiveCaption : SystemColors.Control; ScaleMenuItem.Checked = (mode == WidgetMode.Scale); ScaleMenuItem.BackColor = (mode == WidgetMode.Scale) ? SystemColors.GradientActiveCaption : SystemColors.Control; }
void OnKeyAction(SceneView sceneView, Event e) { if(widgetMode == WidgetMode.Resize) { if (targetBrush != null && e.keyCode == KeyMappings.CancelMove) // Cancel move { if (e.type == EventType.KeyUp) { CancelMove(); } e.Use(); } } if(!CameraPanInProgress) { if(KeyMappings.EventsMatch(e, EditorKeyMappings.GetToolViewMapping())) { if (e.type == EventType.KeyUp) { widgetMode = WidgetMode.Resize; SceneView.RepaintAll(); } } else if(KeyMappings.EventsMatch(e, EditorKeyMappings.GetToolMoveMapping())) { if (e.type == EventType.KeyUp) { widgetMode = WidgetMode.Translate; SceneView.RepaintAll(); } } else if(KeyMappings.EventsMatch(e, EditorKeyMappings.GetToolRotateMapping())) { if (e.type == EventType.KeyUp) { widgetMode = WidgetMode.Rotate; SceneView.RepaintAll(); } } } }
public UndoStep CreateUndoStep(WidgetMode mode, Vector3 startPos, Quaternion startRot, Vector3 startScale, WorldForm wf, bool editPivot) { if (MultipleSelectionItems != null) { switch (mode) { case WidgetMode.Position: return(new MultiPositionUndoStep(this, startPos, wf)); case WidgetMode.Rotation: return(new MultiRotationUndoStep(this, startRot, wf)); case WidgetMode.Scale: return(new MultiScaleUndoStep(this, startScale, wf)); } } else if (EntityDef != null) { if (editPivot) { switch (mode) { case WidgetMode.Position: return(new EntityPivotPositionUndoStep(EntityDef, startPos)); case WidgetMode.Rotation: return(new EntityPivotRotationUndoStep(EntityDef, startRot)); } } else { switch (mode) { case WidgetMode.Position: return(new EntityPositionUndoStep(EntityDef, startPos)); case WidgetMode.Rotation: return(new EntityRotationUndoStep(EntityDef, startRot)); case WidgetMode.Scale: return(new EntityScaleUndoStep(EntityDef, startScale)); } } } else if (CarGenerator != null) { switch (mode) { case WidgetMode.Position: return(new CarGenPositionUndoStep(CarGenerator, startPos)); case WidgetMode.Rotation: return(new CarGenRotationUndoStep(CarGenerator, startRot)); case WidgetMode.Scale: return(new CarGenScaleUndoStep(CarGenerator, startScale)); } } else if (CollisionVertex != null) { switch (mode) { case WidgetMode.Position: return(new CollisionVertexPositionUndoStep(CollisionVertex, startPos, wf)); } } else if (CollisionPoly != null) { switch (mode) { case WidgetMode.Position: return(new CollisionPolyPositionUndoStep(CollisionPoly, startPos, wf)); case WidgetMode.Rotation: return(new CollisionPolyRotationUndoStep(CollisionPoly, startRot, wf)); case WidgetMode.Scale: return(new CollisionPolyScaleUndoStep(CollisionPoly, startScale, wf)); } } else if (CollisionBounds != null) { switch (mode) { case WidgetMode.Position: return(new CollisionPositionUndoStep(CollisionBounds, startPos, wf)); case WidgetMode.Rotation: return(new CollisionRotationUndoStep(CollisionBounds, startRot, wf)); case WidgetMode.Scale: return(new CollisionScaleUndoStep(CollisionBounds, startScale, wf)); } } else if (PathNode != null) { switch (mode) { case WidgetMode.Position: return(new PathNodePositionUndoStep(PathNode, startPos, wf)); } } else if (NavPoly != null) { //todo... } else if (NavPoint != null) { switch (mode) { case WidgetMode.Position: return(new NavPointPositionUndoStep(NavPoint, startPos, wf)); case WidgetMode.Rotation: return(new NavPointRotationUndoStep(NavPoint, startRot, wf)); } } else if (NavPortal != null) { switch (mode) { case WidgetMode.Position: return(new NavPortalPositionUndoStep(NavPortal, startPos, wf)); case WidgetMode.Rotation: return(new NavPortalRotationUndoStep(NavPortal, startRot, wf)); } } else if (TrainTrackNode != null) { switch (mode) { case WidgetMode.Position: return(new TrainTrackNodePositionUndoStep(TrainTrackNode, startPos, wf)); } } else if (ScenarioNode != null) { switch (mode) { case WidgetMode.Position: return(new ScenarioNodePositionUndoStep(ScenarioNode, startPos, wf)); case WidgetMode.Rotation: return(new ScenarioNodeRotationUndoStep(ScenarioNode, startRot, wf)); } } else if (Audio != null) { switch (mode) { case WidgetMode.Position: return(new AudioPositionUndoStep(Audio, startPos)); case WidgetMode.Rotation: return(new AudioRotationUndoStep(Audio, startRot)); } } return(null); }
private void OnTopToolbarGUI(int windowID) { widgetMode = SabreGUILayout.DrawEnumGrid(widgetMode, GUILayout.Width(70)); }
private void OnWidgetModeChanges(WidgetMode mode) { TransformActorModel.WidgetMode = mode; }