コード例 #1
0
 public EngineViewModel(IStartScreen startScreen, IGameplay gameplay, IScoreboard scoreboard)
 {
     this.StartScreen = startScreen;
     this.Gameplay    = gameplay;
     this.Scoreboard  = scoreboard;
 }
コード例 #2
0
ファイル: Presenter.cs プロジェクト: HladkyiIvan/VetLearn
        public Presenter(IStartScreen startscreen, ILearnScreen learnScreen,
                         IAnswerScreen answerScreen, IAddQuestionScreen addQuestionScreen)
        {
            // Configuration
            _startScreen       = startscreen;
            _learnScreen       = learnScreen;
            _answerScreen      = answerScreen;
            _addQuestionScreen = addQuestionScreen;

            _startScreen.CategoryIsChosen            += ChooseCategory;
            _startScreen.GotoAddCategoryScreen       += AddCategoryDialog;
            _startScreen.GotoDeleteCategoryScreen    += DeleteCategoryDialog;
            _startScreen.GotoAddQuestionScreen       += GotoAddQuestionFromMenuScreen;
            _learnScreen.AnswerBtnClicked            += OpenAnswerScreen;
            _learnScreen.GotoMenuBtnClicked          += GotoMenuFromLearnScreen;
            _learnScreen.GotoNextBtnClicked          += GotoNextQuestion;
            _answerScreen.GotoLearnScreenBtnClicked  += CloseAnswerScreen;
            _addQuestionScreen.GotoMenuBtnClicked    += GotoMenuFromAddQuestionScreen;
            _addQuestionScreen.AddQuestionBtnClicked += AddQuestion;

            // Load resources
            _currentCategory = new Category();
            //
            // Encoding.GetEncoding(1251)
            if (!File.Exists(dataPath))
            {
                var sw = File.CreateText(dataPath);
                sw.Close();
                _categories = new List <Category> ();
            }
            else
            {
                _categories = JsonConvert.DeserializeObject <List <Category> >(File.ReadAllText(dataPath, Encoding.UTF8));
            }

            // Get images from byte arrays
            if (_categories.Any())
            {
                foreach (var category in _categories)
                {
                    _startScreen.AdjustCategoriesListToCombobox(category.Id, true);
                    _addQuestionScreen.AdjustCategoriesListToCombobox(category.Id, true);

                    if (category.Questions.Any())
                    {
                        foreach (var question in category.Questions)
                        {
                            if (string.IsNullOrEmpty(question.ImagePath))
                            {
                                question.Image = Image.FromStream(new MemoryStream(File.ReadAllBytes(defaultPicturePath)));
                                continue;
                            }

                            using (var ms = new MemoryStream(File.ReadAllBytes(question.ImagePath)))
                            {
                                question.Image = Image.FromStream(ms);
                            }
                        }
                    }
                }
            }
        }