예제 #1
0
        public static Screen CreateScreen(IScreenRender render, ScreenTypeEnum screenType, CommandModel model = null)
        {
            if (ScreenFactoryDictionary.All.ContainsKey(screenType) == false)
            {
                throw new ArgumentOutOfRangeException("screenType");
            }

            return((Screen)Activator.CreateInstance(ScreenFactoryDictionary.All[screenType], render, model));
        }
예제 #2
0
        public static void Run(IScreenRender render)
        {
            _render = render;

            MainScreen();

            while (_executionContext.CurrentScreen != null)
            {
                RenderScreen();
                WaitForUserInput();
                PerformCommand();
            }
        }
예제 #3
0

        
예제 #4
0
 public MainScreen(IScreenRender screenRender, CommandModel model)
     : base(screenRender, model)
 {
 }
예제 #5
0
 protected Screen(IScreenRender screenRender, CommandModel model)
 {
     ScreenRender    = screenRender;
     AllowedCommands = GetAllowedCommands().ToDictionary(e => e, e => e);
     Model           = model;
 }
예제 #6
0
 protected QuestionScreenBase(IScreenRender screenRender, CommandModel model)
     : base(screenRender, model)
 {
 }