Unity: Можете ли вы читать / записывать в стандартный ввод / вывод консольного приложения, пока оно все еще отображается в консоли? - PullRequest
1 голос
/ 26 апреля 2019

Я написал два независимых приложения: игра Unity, которая хочет взаимодействовать с консольным приложением, и консольное приложение Windows UWP, которое подключается к устройству Bluetooth и извлекает данные из него для приложения Unity. Я могу запустить консольное приложение, используя класс Process в сценарии Unity, но проблема в том, что я не могу просто перенаправить стандартный ввод и вывод, поскольку он не позволяет отображать или читать из консольного приложения. Код Unity не способен обеспечить консольное приложение всем необходимым вводом, и вывод должен быть записан в файл и прочитан пользователями, но в идеале игра Unity могла бы давать определенные команды консольное приложение для запуска / остановки и т. д.

Я пытался настроить процесс в Unity:

        hrConsole.StartInfo.FileName = "HeartRateConsole";
        hrConsole.StartInfo.RedirectStandardInput = true;
        hrConsole.StartInfo.RedirectStandardOutput = true;
        hrConsole.StartInfo.UseShellExecute = false;
        hrConsole.Start();
        yield return new WaitForSeconds(3f);
        hrConsole.StandardInput.WriteLine(alphanum);

Но это оставляет консольное приложение пустым, безразличным черным ящиком. Я пытался перенаправить ввод консольного приложения после того, как оно уже запустилось, но это казалось довольно нежелательным взломом и не слишком реальным решением. Я немного заглянул в оконные трубы, но я не уверен, что они здесь того, чего я хочу. Смогут ли они обеспечить интерфейс между этими двумя приложениями, и сможет ли консольное приложение считывать и записывать в стандартный ввод / вывод и канал?

Консольное приложение само принимает пользовательский ввод для анализа доступных устройств, служб и характеристик, чтобы увидеть, на что подписываться, однако я не могу полностью автоматизировать этот ввод как конкретное устройство, которое мы хотим подключить к изменениям, и даже если я может, проблема приложения Unity, нуждающегося в чтении вывода консоли, все еще остается.

Я не уверен, какой код должен быть показан для этого, поскольку это скорее структурная проблема / проблема проектирования, чем конкретная часть кода, но если есть что-то, что я должен показать, дайте мне знать.

РЕДАКТИРОВАТЬ: Что-то, что происходит со мной сейчас, возможно ли будет по существу воссоздать окно в Unity?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...