private void Reset() { codeOrigin = null; achievementUiElement = null; adornmentVisible = false; layer.RemoveAllAdornments(); descriptionLayer.RemoveAllAdornments(); }
protected virtual void UnlockWith(AstNode location) { CodeOrigin = new AchievementCodeOrigin(); CodeOrigin.From.Line = location.StartLocation.Line; CodeOrigin.From.Column = location.StartLocation.Column; CodeOrigin.To.Line = location.EndLocation.Line; CodeOrigin.To.Column = location.EndLocation.Column; IsAchievementUnlocked = true; }
public AchievementAdornments(IWpfTextView view) { this.view = view; this.layer = view.GetAdornmentLayer("AchievementAdornments"); this.descriptionLayer = view.GetAdornmentLayer("AchievementAdornmentsDescription"); view.LayoutChanged += OnLayoutChanged; Brush brush = new SolidColorBrush(Color.FromArgb(0x20, 0x00, 0x00, 0xff)); brush.Freeze(); Brush penBrush = new SolidColorBrush(Colors.Red); penBrush.Freeze(); Pen pen = new Pen(penBrush, 0.5); pen.Freeze(); this.brush = brush; this.pen = pen; AchievementUIContext.AchievementClicked += (sender, e) => { Reset(); var filePath = GetFilePath(view); if (e.AchievementDescriptor.CodeOrigin.FileName != filePath) { return; } codeOrigin = e.AchievementDescriptor.CodeOrigin; achievementUiElement = (UIElement)e.UIElement; CreateAdornment(); }; }