protected override void OnRender(Vector2 size) { List <ConsoleException> issues = Console.HintModule.Issues; if (issues.Count > 0) { ConsoleException issue = issues[0]; bool handled = false; string text = string.Empty; for (int x = 0; x < m_Handlers.Count; x++) { IssueHandler handler = m_Handlers[x]; handled = handler(issue, out text); if (handled) { break; } } if (!handled) { text = issue.ToString(); } m_IssueContent.text = text; GUI.Label(m_IssueRect, m_IssueContent); } }
protected override DataTemplate SelectTemplateCore(object item, DependencyObject container) { Guard.IsNotNull(item, nameof(item)); DataTemplate?template = item switch { ConsoleCommand _ => CommandTemplate, ConsoleResult _ => ResultTemplate, ConsoleSyntaxError _ => SyntaxErrorTemplate, ConsoleException _ => ExceptionTemplate, ConsoleRestart _ => RestartTemplate, _ => ThrowHelper.ThrowArgumentException <DataTemplate>("Invalid input item type") }; if (template is null) { ThrowHelper.ThrowInvalidOperationException("The requested template is null"); } return(template); } }