public MainWindow() { InitializeComponent(); var dialogService = new DialogService(this); dialogService.Register <NotificationDialogViewModel, NotificationDialog>(); dialogService.Register <ChooseDialogViewModel, ChooseSideDialog>(); SourceInitialized += (sender, args) => { var chooseDialogViewModel = new ChooseDialogViewModel(); dialogService.ShowDialog(chooseDialogViewModel); Side userSide = chooseDialogViewModel.Side; //// Side userSide = Side.White; // // var mainPlayCheckers = new List<CheckerModel>() // { // new CheckerModel(1, 1, PieceType.Checker, Side.Black), // new CheckerModel(1, 3, PieceType.Checker, Side.Black), // new CheckerModel(3, 3, PieceType.Checker, Side.Black), // new CheckerModel(5, 3, PieceType.Checker, Side.Black), // new CheckerModel(7, 1, PieceType.Checker, Side.Black), // }; // var secondPlayerCheckers = new List<CheckerModel>() // { // new CheckerModel(4, 4, PieceType.Checker, Side.White), // }; // DataProvider dataProvider = new DataProvider(mainPlayCheckers, secondPlayerCheckers); // var mainPlayer = new MainPlayer(dataProvider, Side.Black); // var robotPlayer = new RobotPlayer(dataProvider, Side.White, new MinMaxStrategy()); // var emptyPlayer = new EmptyUserPlayer(dataProvider); var dataProvider = new DataProvider(userSide); var mainPlayer = new MainPlayer(dataProvider, userSide); var robotPlayer = new RobotPlayer(dataProvider, userSide == Side.White? Side.Black:Side.White, new MinMaxStrategy()); var emptyPlayer = new EmptyUserPlayer(dataProvider); var game = new Core.Game(mainPlayer, robotPlayer, emptyPlayer, dataProvider); game.ReCalculateNeighborsAndPaths(); this.DataContext = new GameViewModel(game, dialogService, true); }; }
public void ForwardInAnimationComplete() { Telegram.Api.Helpers.Execute.BeginOnThreadPool(() => { _recentResults = _recentResults ?? TLUtils.OpenObjectFromMTProtoFile <TLVector <TLResultInfo> >(_recentSyncRoot, Constants.RecentSearchResultsFileName) ?? new TLVector <TLResultInfo>(); var recent = new List <TLObject>(); foreach (var result in _recentResults) { if (result.Type.ToString() == "user") { var user = _cacheService.GetUser(result.Id); if (user != null) { if (user.Dialog == null) { user.Dialog = _cacheService.GetDialog(new TLPeerUser { Id = user.Id }); } if (!ChooseDialogViewModel.SkipDialogForBot(_bot, user.Dialog ?? new TLDialog { With = user })) { recent.Add(user); } } } if (result.Type.ToString() == "chat") { var chat = _cacheService.GetChat(result.Id); if (chat != null) { if (chat.Dialog == null) { chat.Dialog = _cacheService.GetDialog(new TLPeerChat { Id = chat.Id }); } if (!ChooseDialogViewModel.SkipDialogForBot(_bot, chat.Dialog ?? new TLDialog { With = chat })) { recent.Add(chat); } } } } Telegram.Api.Helpers.Execute.BeginOnUIThread(() => { if (!string.IsNullOrEmpty(Text)) { return; } Recent.Clear(); foreach (var recentItem in recent) { Recent.Add(recentItem); } NotifyOfPropertyChange(() => ShowRecent); }); }); }