コード例 #1
0
ファイル: ScreenCaller.cs プロジェクト: diademoff/games-cli
        public static ScreenCaller Call(Screen screen, Drawer d, Func <int> delay)
        {
            var output = new ScreenCaller();

            screen.OnExit += (o) => { output.prevScreenResult = o; };

            do
            {
                d.Create(screen);
                d.DrawToConsole();

                Thread.Sleep(delay());
            } while (!screen.Exited);

            d.Remove(screen);
            d.DrawToConsole();

            screen.OnExit -= (o) => { output.prevScreenResult = o; };

            return(output);
        }