public async Task <Ability> Handle(string abilityName) { // Retriever all moves with the specified name. List <Ability> moves = ViewModelBase.AbilityService.GetAbilitiesWithName(abilityName).ToList(); // Return Ability if there's only one. if (moves.Count <= 1) { return(moves.FirstOrDefault()); } // Let user select ability if there are multiples. var dialog = new SelectActionDialog(moves); await _window.ShowMetroDialogAsync(dialog); await dialog.WaitUntilUnloadedAsync(); return(dialog.SelectedAbility); }
private void graphCanvas_MouseUp(object sender, MouseEventArgs e) { // Get end of rectangle if (e.Button == MouseButtons.Left) { _rectangleDrawing = false; SelectActionDialog action = new SelectActionDialog(); DialogResult result = action.ShowDialog(); if (result == DialogResult.OK) { if (action.Selection == ActionSelected.BlockEdges) { UpdateEdgeType(); _graphPath.Clear(); _dijkstra.Invalidate(); } else if (action.Selection == ActionSelected.RangeScan) { RangeScan(); } } graphCanvas.Invalidate(); } }