/*===============================*\ |* Events *| \*===============================*/ /// <summary> /// Méthode appelé lorsque un propriété d'une cellule est modifiée /// </summary> /// <param name="sender">Envoyeur de l'event</param> /// <param name="args">Arguments de l'event</param> private void OnCellPropertyChanged(object sender, PropertyChangedEventArgs args) { ViewModels.Cell cell = sender as ViewModels.Cell; switch (args.PropertyName) { //Si c'est l'état de la cellule qui a été modifié case "State": if (cell.State == CellState.Alive) { Statistics.Population += 1; } else { Statistics.Population -= 1; } break; //Si c'est l'age de la cellule qui a été modifié case "Age": if (cell.Age > Statistics.OldestCell) { Statistics.OldestCell = cell.Age; } break; } }
/*===============================*\ |* Constructeurs *| \*===============================*/ /// <summary> /// Constructeur complet /// </summary> /// <param name="viewModel">Vue-Modèle de la cellule</param> public Cell(ViewModels.Cell viewModel) : base() { this.viewModel = viewModel; Init(); RegisterEvents(); }