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; }
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; }