FC3Editor.Tools.ToolObject.RotateAction.SetSnap C# (CSharp) Méthode

SetSnap() public méthode

public SetSnap ( float snapSize ) : void
snapSize float
Résultat void
            public void SetSnap(float snapSize)
            {
                this.m_snap = true;
                this.m_snapSize = snapSize;
            }

Usage Example

Exemple #1
0
            public override bool OnMouseEvent(Editor.MouseEvent mouseEvent, MouseEventArgs mouseEventArgs)
            {
                if (mouseEvent == Editor.MouseEvent.MouseDown)
                {
                    if (this.m_context.m_gizmoActive)
                    {
                        Vec3 position = this.m_context.m_gizmo.Position;
                        Vec3 rotationAxis = default(Vec3);
                        switch (this.m_context.m_gizmo.Active)
                        {
                        case Axis.X:
                            rotationAxis = this.m_context.m_gizmo.Axis.axisX;
                            break;

                        case Axis.Y:
                            rotationAxis = this.m_context.m_gizmo.Axis.axisY;
                            break;

                        case Axis.Z:
                            rotationAxis = this.m_context.m_gizmo.Axis.axisZ;
                            break;
                        }
                        ToolObject.RotateAction rotateAction = new ToolObject.RotateAction(this.m_context);
                        if (this.m_paramSnap.Value)
                        {
                            rotateAction.SetSnap(this.m_paramSnapSize.Value);
                        }
                        rotateAction.Start(position, rotationAxis);
                    }
                    else
                    {
                        Vec3 pos;
                        EditorObject objectFromScreenPoint = ObjectManager.GetObjectFromScreenPoint(Editor.Viewport.NormalizedMousePos, out pos);
                        if (objectFromScreenPoint.IsValid)
                        {
                            if (!this.m_context.m_selection.Contains(objectFromScreenPoint))
                            {
                                EditorObjectSelection editorObjectSelection = EditorObjectSelection.Create();
                                if ((Control.ModifierKeys & Keys.Control) != Keys.None)
                                {
                                    this.m_context.m_selection.Clone(editorObjectSelection, false);
                                }
                                this.m_context.SelectObject(editorObjectSelection, objectFromScreenPoint);
                                this.m_context.SetSelection(editorObjectSelection, objectFromScreenPoint);
                            }
                            else
                            {
                                this.m_context.SetupGizmo(objectFromScreenPoint);
                            }
                            EditorObjectPivot editorObjectPivot;
                            Vec3 position2;
                            if (objectFromScreenPoint.GetClosestPivot(pos, out editorObjectPivot))
                            {
                                position2 = editorObjectPivot.position;
                            }
                            else
                            {
                                position2 = objectFromScreenPoint.Position;
                            }
                            Vec3 rotationAxis2 = new Vec3(0f, 0f, 1f);
                            ToolObject.RotateAction rotateAction2 = new ToolObject.RotateAction(this.m_context);
                            if (this.m_paramSnap.Value)
                            {
                                rotateAction2.SetSnap(this.m_paramSnapSize.Value);
                            }
                            rotateAction2.Start(position2, rotationAxis2);
                        }
                        else
                        {
                            ToolObject.SelectAction selectAction = new ToolObject.SelectAction(this.m_context);
                            selectAction.Start();
                        }
                    }
                }
                return false;
            }