public SceneOutlineViewModel(IEventBus eventBus, IEntityPropertiesEditorViewModelFactory entityPropertiesEditorViewModelFactory)
        {
            _eventBus = eventBus;
            _entityPropertiesEditorViewModelFactory = entityPropertiesEditorViewModelFactory;

            _selectedItem = CreateProperty <SceneOutlineItemViewModel?>(nameof(SelectedItem));
            _selectedItem.Subscribe(vm => vm?.OnSelected());

            _eventBus.RegisterEventHandler <SelectedSceneModelChangedEvent>(SelectedSceneModelChangedEventHandler);
        }
        public SceneRootViewModel(SceneModel sceneModel, IEventBus eventBus, IEntityPropertiesEditorViewModelFactory entityPropertiesEditorViewModelFactory)
        {
            _sceneModel = sceneModel;
            _eventBus   = eventBus;
            _entityPropertiesEditorViewModelFactory = entityPropertiesEditorViewModelFactory;

            Name = "Scene";

            foreach (var entityModel in _sceneModel.RootEntities)
            {
                Items.Add(new EntityViewModel(entityModel, _eventBus, _entityPropertiesEditorViewModelFactory));
            }

            ContextMenuItems.Add(new ContextMenuItem("Add entity", RelayCommand.Create(AddEntity)));

            _sceneModel.EntityAdded += SceneModelOnEntityAdded;
        }
Esempio n. 3
0
        public EntityViewModel(EntityModel entityModel, IEventBus eventBus, IEntityPropertiesEditorViewModelFactory entityPropertiesEditorViewModelFactory)
        {
            _entityModel = entityModel;
            _eventBus    = eventBus;
            _entityPropertiesEditorViewModelFactory = entityPropertiesEditorViewModelFactory;

            Name = _entityModel.Name;

            foreach (var model in _entityModel.Children)
            {
                Items.Add(new EntityViewModel(model, _eventBus, _entityPropertiesEditorViewModelFactory));
            }

            ContextMenuItems.Add(new ContextMenuItem("Add child entity", RelayCommand.Create(AddChildEntity)));

            _entityModel.EntityAdded += EntityModelOnEntityAdded;
            _entityModel.NameChanged += EntityModelOnNameChanged;
        }
Esempio n. 4
0
 public void SetUp()
 {
     _eventBus = new EventBus();
     _entityPropertiesEditorViewModelFactory = Substitute.For <IEntityPropertiesEditorViewModelFactory>();
 }