Пример #1
0
        public void Substitute()
        {
            var subbedPlayer     = Team.Players.Single(p => p.Number == SelectedNumber);
            var substitutePlayer = SelectedSubstitute;

            SubstitutedPlayers.Add(subbedPlayer);

            substitutePlayer.Location.XamlX = subbedPlayer.Location.XamlX;
            substitutePlayer.Location.XamlY = subbedPlayer.Location.XamlY;

            TeamFormation[TeamFormation.
                          Where(kvp => kvp.Value.Number == subbedPlayer.Number).
                          Select(kvp => kvp.Key).Single()] = substitutePlayer;

            UpdatePlayerShirts();

            PlayerNumbers.Remove(SelectedNumber);
            PlayerSubstitutes.Remove(substitutePlayer);

            NotifyOfPropertyChange(() => PlayerSubstitutes);
            NotifyOfPropertyChange(() => PlayerNumbers);

            SelectedNumber     = 0;
            SelectedSubstitute = null;

            ++SubstitutesUsed;
        }
Пример #2
0
        private void UpdateStaticFixtureData()
        {
            ComputerTeamName = Fixture.TeamHome.TeamName == TeamName ?
                               Fixture.TeamAway.TeamName : Fixture.TeamHome.TeamName;

            Team = Fixture.TeamHome.TeamName == TeamName ? Fixture.TeamHome : Fixture.TeamAway;
            var computerTeam = Fixture.TeamHome.TeamName == ComputerTeamName ? Fixture.TeamHome : Fixture.TeamAway;

            TeamFormation         = Team.FormationClone();
            ComputerTeamFormation = computerTeam.FormationClone();

            HomePrimaryColour   = Fixture.TeamHome.PrimaryColour;
            HomeSecondaryColour = Fixture.TeamHome.SecondaryColour;
            AwayPrimaryColour   = Fixture.TeamAway.PrimaryColour;
            AwaySecondaryColour = Fixture.TeamAway.SecondaryColour;

            MatchAnimations.UpdateComputerTeamFormation(ComputerTeamFormation);
            MatchAnimations.SetHomePossession(MatchAnimations, 500);
            MatchAnimations.SetAwayPossession(MatchAnimations, 500);

            UpdatePlayerPositions();

            NotifyOfPropertyChange(() => Score);
            NotifyOfPropertyChange(() => Minutes);
            NotifyOfPropertyChange(() => PlayingPeriod);

            UpdatePlayerShirts();
            UpdateComputerShirts();

            SubstitutesUsed = 0;
            SubstitutedPlayers.Clear();

            NotifyOfPropertyChange(() => PlayerSubstitutes);
            NotifyOfPropertyChange(() => PlayerNumbers);

            PrimaryColour   = Team.PrimaryColour;
            SecondaryColour = Team.SecondaryColour;

            PrimaryComputerColour   = computerTeam.PrimaryColour;
            SecondaryComputerColour = computerTeam.SecondaryColour;

            PlayerShirtType         = Team.ShirtType;
            ComputerPlayerShirtType = computerTeam.ShirtType;
        }