public async Task <bool> LoadThread(string token)
        {
            IWindowManager wm = IoC.Get <IWindowManager>();

            wm.ShowBusyView("Loading Feedbacks...");
            try
            {
                this.FeedbackThread = await HockeyClientWPF.Instance.OpenFeedbackThreadAsync(token);

                this.FeedbackMessages.Clear();

                if (this.FeedbackThread != null)
                {
                    this.FeedbackThread.Messages.ForEach(p => FeedbackMessages.Add(new FeedbackMessageViewModel(p)));
                    this.FeedbackMessages.Add(new NewFeedbackMessage(this));
                }
                else
                {
                    FeedbackToken.DeleteToken(token);
                    raiseDeletedOnServer();
                }
            }
            catch (Exception ex)
            {
                wm.ShowBusyView("An error ocurred:\n" + ex.Message);
            }
            finally
            {
                wm.HideBusyView();
            }
            return(this.FeedbackThread != null);
        }
Esempio n. 2
0
        async public Task SpeelWedstrijdAsync(Wedstrijd currentWedstrijd)
        {
            await StartWedstrijdAsync(currentWedstrijd);

            Message.SetMessageHeader(FeedbackMessages.GetWedstrijdWordtGespeeld(currentWedstrijd));
            await SimuleerAanvallenAsync(currentWedstrijd);

            //return
            await BeeindigWedstrijd(currentWedstrijd);



            //return t;
        }
Esempio n. 3
0
        async private Task SimuleerAanvallenAsync(Wedstrijd currentWedstrijd)
        {
            //Zoveel aanvallen als er speler zijn
            for (int i = 0; i < currentWedstrijd.ThuisTeam.TeamLeden.Count + currentWedstrijd.UitTeam.TeamLeden.Count; i++)
            {
                Random rand = new Random();

                // bepaal welk team aanvalt
                int         kiesTeam     = rand.Next(201);
                VoetbalTeam teamAanval   = kiesTeam % 2 == 0 ? currentWedstrijd.ThuisTeam : currentWedstrijd.UitTeam;
                VoetbalTeam teamVerdedig = kiesTeam % 2 == 0 ? currentWedstrijd.UitTeam : currentWedstrijd.ThuisTeam;

                //kies aanvaller en verdediger

                Speler aanvaller  = teamAanval.TeamLeden[rand.Next(teamAanval.TeamLeden.Count)];
                Speler verdediger = teamVerdedig.TeamLeden[rand.Next(teamVerdedig.TeamLeden.Count)];

                //Doe aanval
                if (await AanvalAsync(aanvaller, verdediger))
                {
                    //Als aanval succesvol => registreer dan doelpunt en pas ervaring nieveau betrokken spelers aan
                    WedstrijdSecretariaat.RegistreerDoelpunt(aanvaller, teamAanval, verdediger, currentWedstrijd);
                    currentWedstrijd.Uitslag = "updatePropertyChanged"; // Slaat nergens op maar triggert wel het PropertyChanged event
                    Message.SetMessageBody($"{aanvaller.NaamToString} scoorde een doelpunt voor {teamAanval.NaamToString}");
                    Message.AddLineToMessageBody(FeedbackMessages.GetWedstrijdTussenStand(currentWedstrijd.Uitslag));
                }
                else
                {
                    //Als aanval niet succesvol =>  pas ervaring niveau betrokken spelers aan
                    WedstrijdSecretariaat.RegistreerRedding(aanvaller, verdediger);
                    Message.SetMessageBody($"{verdediger.NaamToString}({teamVerdedig.NaamToString}) stopte een aanval van {aanvaller.NaamToString}({teamAanval.NaamToString})");
                    Message.AddLineToMessageBody(FeedbackMessages.GetWedstrijdTussenStand(currentWedstrijd.Uitslag));
                }
                await Task.Delay(1500);
            }
        }