1

サーバー コンソールをゲームに使用するときに役立つ小さなプログラムを作成しています (そのため、コンソール プログラムのソースがありません)。バックグラウンドでコンソールを起動し、出力をリダイレクトしてから、かわいい小さなテキストボックスに書き込みます。問題は、出力を行うたびに最後の行が表示されないように見えることです。これは私のserver.csからのいくつかのコードです:

public StreamWriter inputWriter;
public event EventHandler outputWritten;

string outtext = outputReader.ReadLine();

        while (!process.HasExited)
        {
            // check for output from server
            if (outtext != null)
            {
                if (outputWritten != null)
                {
                    outputWritten(outtext, new EventArgs());
                }
            }
            outtext = outputReader.ReadLine();
        }

これは出力がどのように見えるかです: 1) それが私のプログラムの外で実行される場合:

Welcome to the game server!
1  OptionA
2  OptionB
3  OptionC

Choose option:_  <-- this is where it should end waiting for input

2)私のプログラム内の場合:上記のように見えますが、最後の行が表示されず、代わりに「オプションを選択してください:」の上の空の行で終了し、入力を与えるとめちゃくちゃになります「オプションを選択: ゲーム サーバーへようこそ!」のような出力が表示されます。「Choose option: 1」と書かれているはずで、次の行に、どうすればよいかについての小さな質問がありました。

4

0 に答える 0