public EngineViewModel(IStartScreen startScreen, IGameplay gameplay, IScoreboard scoreboard) { this.StartScreen = startScreen; this.Gameplay = gameplay; this.Scoreboard = scoreboard; }
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); } } } } } }