public void SetMode(BaseToolMode mode) { if (Mode != mode) { NextMode = mode; } }
protected override void Reset(BaseToolMode prevMode) { if (prevMode is BaseOrderToolMode pasteMarkupTool) { Backup = pasteMarkupTool.Backup; IsMirror = pasteMarkupTool.IsMirror; SourceEnters = pasteMarkupTool.SourceEnters; TargetEnters = pasteMarkupTool.TargetEnters; } else { Backup = Markup.ToXml(); IsMirror = false; SourceEnters = IntersectionTemplate.Enters.Select((e, i) => new SourceEnter(e, i)).ToArray(); TargetEnters = Markup.Enters.Select((e, i) => new TargetEnter(e, i)).ToArray(); var min = Math.Min(TargetEnters.Length, SourceEnters.Length); for (var i = 0; i < min; i += 1) { SourceEnters[i].Target = TargetEnters[i]; } } Paste(); }
protected override void Reset(BaseToolMode prevMode) { PrevMode = prevMode as BaseEntersOrderToolMode; SourceEnter = PrevMode != null && PrevMode.IsHoverSource && PrevMode.HoverSource.HasTarget ? PrevMode.HoverSource : null; TargetEnter = SourceEnter?.Target as TargetEnter; base.Reset(prevMode); }
protected override void Reset(BaseToolMode prevMode) { NodeMarkupTool.GetCentreAndRadius(Markup, out Vector3 centre, out float radius); Centre = centre; Radius = radius; base.Reset(prevMode); }
private void SetModeNow(BaseToolMode mode) { Mode?.Deactivate(); var prevMode = Mode; Mode = mode; Mode?.Activate(prevMode); Panel.Active = Mode?.ShowPanel == true; }
protected override void Reset(BaseToolMode prevMode) { Contour = new FillerContour(Tool.Markup); GetFillerPoints(); }
protected override void Reset(BaseToolMode prevMode) { HoverNodeId = 0; }
protected override void Reset(BaseToolMode prevMode) { DragPoint = prevMode is MakeLineToolMode makeLineMode ? makeLineMode.HoverPoint : null; }
protected override SourceEnter[] GetSources(BaseToolMode prevMode) => SourceEnters;
protected override Target <SourceEnter>[] GetTargets(BaseToolMode prevMode) => TargetEnters;
protected virtual void Reset(BaseToolMode prevMode) { }
public virtual void Activate(BaseToolMode prevMode) { enabled = true; Reset(prevMode); }
protected override void Reset(BaseToolMode prevMode) { HoverPoint = null; SelectPoint = null; SetTarget(); }
protected override SourcePoint[] GetSources(BaseToolMode prevMode) => SourceEnter?.Points ?? new SourcePoint[0];
protected override Target <SourcePoint>[] GetTargets(BaseToolMode prevMode) => TargetEnter?.Points ?? new TargetPoint[0];