Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
        }
    }