public SceneEditorViewModel(StorageFolderViewModel rootFolder, string scenePath)
        {
            RootFolder = rootFolder;
            ScenePath  = scenePath;

            OpenCommand   = new RelayCommand <EntityViewModel>(Open);
            DeleteCommand = new RelayCommand <EntityViewModel>(Delete);

            Game = new EditorGame(new GameContextWithGraphics {
                FileProvider = new FileSystemProvider(RootFolder.Model)
            });
            Game.SceneSystem.SceneInstance.RootEntity = SceneRootEntity.Model;
        }
        public SolutionExplorerViewModel(
            ISolutionLoader solutionLoader,
            IFileEditorViewFactory editorViewFactory,
            IPropertyManager propertyManager,
            ITabViewManager tabViewManager)
        {
            this.solutionLoader    = solutionLoader;
            this.editorViewFactory = editorViewFactory;
            this.propertyManager   = propertyManager;
            this.tabViewManager    = tabViewManager;

            if (solutionLoader.RootFolder != null)
            {
                RootFolder = new StorageFolderViewModel(solutionLoader.RootFolder)
                {
                    IsExpanded = true
                };
            }

            solutionLoader.RootFolderLoaded += (s, e) =>
            {
                RootFolder = new StorageFolderViewModel(e.RootFolder)
                {
                    IsExpanded = true
                };
            };

            solutionLoader.StorageLibraryChanged += OnSolutionLoaderStorageLibraryChanged;

            AddFileCommand        = new RelayCommand <StorageFolderViewModel>(folder => _ = AddFileAsync(folder), folder => folder != null);
            AddFolderCommand      = new RelayCommand <StorageFolderViewModel>(folder => _ = AddFolderAsync(folder), folder => folder != null);
            BuildCommand          = new RelayCommand <StorageFileViewModel>(file => _ = BuildAsync(file));
            OpenCommand           = new RelayCommand <StorageItemViewModel>(item => _ = OpenAsync(item), item => item != null);
            ViewCodeCommand       = new RelayCommand <StorageFileViewModel>(file => _ = ViewCodeAsync(file), file => file != null);
            DeleteCommand         = new RelayCommand <StorageItemViewModel>(item => _ = DeleteAsync(item), item => item != null);
            ShowPropertiesCommand = new RelayCommand <StorageItemViewModel>(ShowProperties, item => item != null);
            RefreshCommand        = new RelayCommand <StorageFolderViewModel>(folder => _ = folder.FillAsync(), folder => folder != null);
        }
 public ProjectLoadedEventArgs(StorageFolderViewModel rootFolder)
 {
     RootFolder = rootFolder;
 }
 public TerminalViewModel(StorageFolderViewModel rootFolder)
 {
     currentFolder = rootFolder;
 }