Example #1
0
        public SceneAsset ShowSaveSceneWindow(Project project, Scene scene)
        {
            var window = this._container.Resolve <SaveSceneDialog>(new ParameterOverride("project", project));
            var result = window.ShowDialog();

            if (result.HasValue && result.Value)
            {
                var         fileName = window.ViewModel.FileName + FileHelper.SceneExtension;
                FolderAsset parent;

                if (window.ViewModel.SelectedAsset.Type == AssetType.Folder && window.ViewModel.SelectedAsset is FolderAsset folder)
                {
                    parent = folder;
                }
                else
                {
                    parent = window.ViewModel.SelectedAsset.Parent;
                }

                var sceneAsset = new SceneAsset(fileName)
                {
                    Parent = parent
                };

                scene.SaveToFile(sceneAsset.GetPath(), this._serializer);

                if (project.StartUpSceneAsset == null)
                {
                    project.StartUpSceneAsset = sceneAsset;
                }

                return(sceneAsset);
            }

            return(null);
        }
Example #2
0
 private static bool SceneAssetExistsInProject(Project project, SceneAsset sceneAsset)
 {
     return(project.SceneAssets.Any(x => x.Name == sceneAsset.Name && x.GetPath() == sceneAsset.GetPath()));
 }