BehaviorTreeViewModel.cs 873 B

12345678910111213141516171819202122232425262728293031323334353637
  1. using System.Collections.ObjectModel;
  2. using System.ComponentModel;
  3. namespace Egametang
  4. {
  5. public class BehaviorTreeViewModel : INotifyPropertyChanged
  6. {
  7. private BehaviorNode root = new BehaviorNode();
  8. private ObservableCollection<BehaviorNodeViewModel> children =
  9. new ObservableCollection<BehaviorNodeViewModel>();
  10. public BehaviorTreeViewModel()
  11. {
  12. root.Name = "root";
  13. root.Type = 1;
  14. children.Add(new BehaviorNodeViewModel(root, null));
  15. }
  16. public ObservableCollection<BehaviorNodeViewModel> Children
  17. {
  18. get
  19. {
  20. return children;
  21. }
  22. }
  23. public event PropertyChangedEventHandler PropertyChanged;
  24. protected virtual void OnPropertyChanged(string propertyName)
  25. {
  26. if (this.PropertyChanged != null)
  27. {
  28. this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
  29. }
  30. }
  31. }
  32. }