예제 #1
0
        /// <summary>
        /// Распределить игроков
        /// </summary>
        /// <param name="players"></param>
        /// <param name="field"></param>
        private void DistributePlayers(IFootballPlayerList players, IFootballField field)
        {
            ObservableCollection <PlayerViewModel> _activePlayers   = new ObservableCollection <PlayerViewModel>();
            ObservableCollection <PlayerViewModel> _noActivePlayers = new ObservableCollection <PlayerViewModel>();
            ObservableCollection <PlayerViewModel> _playersInField  = new ObservableCollection <PlayerViewModel>();

            foreach (IFootballPlayer player in players)
            {
                if (player.IsActive & player.PlayBox == 0)
                {
                    PlayerViewModel playerVM = new PlayerViewModel(player, players.Editor, _playerEditor);
                    _activePlayers.Add(playerVM);
                }
                else if (player.IsActive & player.PlayBox > 0)
                {
                    PlayerViewModel playerVM = new PlayerViewModel(player, players.Editor, _playerEditor);
                    _playersInField.Add(playerVM);
                }
                else if (!player.IsActive)
                {
                    PlayerViewModel playerVM = new PlayerViewModel(player, players.Editor, _playerEditor);
                    _noActivePlayers.Add(playerVM);
                }
            }

            _playersVM = new PLayersViewModel(_activePlayers, _noActivePlayers);
            _playersVM.PropertyChanged += PlayersVM_PropertyChanged;
            _playersVM.ActivePlayersVM.PropertyChanged   += ActivePlayersVM_PropertyChanged;
            _playersVM.NoActivePlayersVM.PropertyChanged += NoActivePlayersVM_PropertyChanged;

            _fieldVM                   = new FieldViewModel(_playersInField, field);
            _fieldVM.BoxSelected      += _fieldVM_BoxSelected;
            _fieldVM.PreRemovalPlayer += _fieldVM_PreRemovalPlayer;
        }
예제 #2
0
        public PlayersManager(IFootballPlayerList players, IFootballField field, IEfficiencyChart chart)
        {
            players.LoadPlayers();
            _players      = players;
            _playerEditor = players.GetPlayerEditor();
            _playerEditor.AcceptChanges += _playerEditor_AcceptChanges;
            _players.AddedPlayer        += Players_AddedPlayer;
            _addPlayersVM       = new AddPlayerViewModel(players.Editor);
            _parametersEditorVM = new ParametersEditorViewModel(_playerEditor);
            _chartVM            = new ChartViewModel(chart);

            _selectedField = true;
            DistributePlayers(players, field);
        }
예제 #3
0
 /// <summary>
 /// Инициализация редактора списка игроков
 /// </summary>
 /// <param name="playerList"></param>
 public FootballPlayersListEditor(IFootballPlayerList playerList)
 {
     _playerList = playerList;
     _loader     = (_playerList as FootballPlayerList).Loader;
 }
 /// <summary>
 /// Инициализация ViewModel'и футбол
 /// </summary>
 /// <param name="playerList"></param>
 public FootballViewModel(IFootballPlayerList playerList, IFootballField field, IEfficiencyChart chart)
 {
     _playerList       = playerList;
     _playersManeger   = new PlayersManager(playerList, field, chart);
     _selectedTabIndex = 0;
 }