示例#1
0
    public TextTyper(DisplaySystem screen, TerminalConsole console)
    {
        Screen  = screen;
        Console = console;

        Cursor = new CursorController(screen, borderWidth, borderHeight);
        keys   = new KeysController(this);

        DrawBorder();
    }
示例#2
0
    void Start()
    {
        if (!Utils.init)
        {
            Utils.InitCharsValues();
        }
        if (!CommandHelper.init)
        {
            CommandHelper.Init();
        }

        _display = new DisplaySystem(GetComponent <MeshRenderer>());
        _console = new TerminalConsole(_display, this);
        _console.SetSound(beep, dynamic);
        _keyboard = new KeyboardController(_console);
        _power    = new TerminalPower(_console);
    }
示例#3
0
        private static async Task <int> MainMicrosoft(bool commandLine)
        {
            try
            {
                TerminalConsole.Initialise(commandLine);

                var Builder = new HostBuilder()
                              .ConfigureAppConfiguration((hostContext, config) =>
                {
                    config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: false);

                    config.AddEnvironmentVariables();
                })
                              .ConfigureLogging((hostContext, logging) =>
                {
                    logging.AddTerminal(TerminalConsole.View, registry =>
                    {
                        // Load the Program type and Standard Commands
                        registry.Scan(typeof(Program));
                        registry.Scan(typeof(StandardCommands));
                    });
                })
                              .ConfigureServices((hostContext, services) =>
                {
                    var Configuration = hostContext.Configuration;

                    services.AddSingleton <Program>();
                    services.AddSingleton <IHostedService>(provider => provider.GetRequiredService <Program>());
                })
                              .UseConsoleLifetime()
                ;

                var Host = Builder.Build();

                await Host.RunAsync(Exited.Token);

                return(0);
            }
            finally
            {
                TerminalConsole.Terminate();
            }
        }
示例#4
0
 public CommandRunner(TextTyper typer, FileController fileController, TerminalConsole console)
 {
     _console       = console;
     _typer         = typer;
     FileController = fileController;
 }
示例#5
0
 public CodeWraper(string code, TerminalConsole console)
 {
     this.code    = code;
     this.console = console;
 }
示例#6
0
 public TerminalPower(TerminalConsole console)
 {
     _on      = false;
     _console = console;
 }
示例#7
0
 public DynamicCode(TerminalConsole console, DisplaySystem display)
 {
     _console = console;
     _display = display;
 }
示例#8
0
 public KeyboardController(TerminalConsole console)
 {
     _console = console;
 }
示例#9
0
        private static async Task <int> MainSerilog(bool commandLine)
        {
            try
            {
                TerminalConsole.Initialise(commandLine);

                var Builder = new HostBuilder()
                              .ConfigureAppConfiguration((hostContext, config) =>
                {
                    config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: false);

                    config.AddEnvironmentVariables();
                })
                              .ConfigureLogging((hostContext, logging) =>
                {
                    var LoggerConfig = new LoggerConfiguration()
                                       .MinimumLevel.Is(LogEventLevel.Verbose)
                                       .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
                                       .MinimumLevel.Override("System", LogEventLevel.Warning)
                                       .Enrich.FromLogContext()
                                       .WriteTo.Terminal(TerminalConsole.View)                  // All log entries route to the console
                    ;

                    Log.Logger = LoggerConfig.CreateLogger();

                    logging.AddSerilog();
                })
                              .ConfigureServices((hostContext, services) =>
                {
                    var Configuration = hostContext.Configuration;

                    // Since we didn't register the Terminal during ConfigureLogging, we need to register it here
                    services.AddTerminal(registry =>
                    {
                        // Load the Program type and Standard Commands
                        registry.Scan(typeof(Program));
                        registry.Scan(typeof(StandardCommands));
                    });
                    services.AddSingleton <Program>();
                    services.AddSingleton <IHostedService>(provider => provider.GetRequiredService <Program>());
                })
                              .UseSerilog()
                              .UseConsoleLifetime()
                ;

                var Host = Builder.Build();

                await Host.RunAsync(Exited.Token);

                return(0);
            }
            catch (OperationCanceledException)
            {
                return(0);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                Log.Logger.Fatal(e, "Host terminated unexpectedly");

                return(-1);
            }
            finally
            {
                Log.CloseAndFlush();

                TerminalConsole.Terminate();
            }
        }
示例#10
0
 public FileController(TerminalConsole console)
 {
     this.console = console;
 }