public async Task <object?> CreateAsync(StorageFileViewModel item) { if (item.Parent is null) { return(null); } string scenePath = Path.GetFileNameWithoutExtension(item.Name); StorageFolderViewModel rootFolder = item.Parent; StorageFileViewModel? projectFile = (await rootFolder.GetFilesAsync()).FirstOrDefault(s => Path.GetExtension(s.Name).Contains("proj")); while (projectFile is null && rootFolder.Parent != null) { scenePath = Path.Combine(rootFolder.Name, scenePath); rootFolder = rootFolder.Parent; projectFile = (await rootFolder.GetFilesAsync()).FirstOrDefault(s => Path.GetExtension(s.Name).Contains("proj")); } if (projectFile != null) { await LoadAssemblyAsync(rootFolder.Model, Path.GetFileNameWithoutExtension(projectFile.Name)); } return(new SceneEditorViewModel(rootFolder, scenePath)); }
public SceneView(StorageFolderViewModel rootFolder) { InitializeComponent(); SharedShadow.Receivers.Add(SwapChainPanel); EntityTreeView.Translation += new Vector3(0.0f, 0.0f, 32.0f); ((StandardUICommand)Resources["OpenCommand"]).KeyboardAccelerators.Clear(); EditorGame game = new EditorGame(new XamlGameContext(SwapChainPanel), rootFolder.Model); //EditorGame game = new EditorGame(new GameContextWithGraphics(), rootFolder.Model); game.Run(); ViewModel = new SceneViewModel(game); }
public Task <object?> CreateAsync(StorageFileViewModel item) { if (item.Parent is null) { return(Task.FromResult <object?>(null)); } string path = Path.GetFileNameWithoutExtension(item.Name); StorageFolderViewModel rootFolder = item.Parent; while (rootFolder.Parent != null) { path = Path.Combine(rootFolder.Name, path); rootFolder = rootFolder.Parent; } SceneView sceneView = new SceneView(rootFolder); Task sceneTask = sceneView.ViewModel.LoadAsync(path); return(Task.FromResult <object?>(sceneView)); }
public ProjectLoadedMessage(StorageFolderViewModel rootFolder) { RootFolder = rootFolder; }