示例#1
0
        private void ImportShader(object sender, RoutedEventArgs e)
        {
            ImportShader import = new ImportShader();

            var result = import.ShowDialog();

            if (result == true)
            {
                AssetMetadata.createShaderMetadata(import.asset);

                viewmodel.Shaders.Add(import.asset);
            }
            else
            {
                if (!string.IsNullOrEmpty(import.Error))
                {
                    viewmodel.LogEvent(import.Error);
                }
            }
        }
示例#2
0
        private void EditShader(object sender, RoutedEventArgs e)
        {
            if (viewmodel.SelectedShader == null)
            {
                return;
            }

            string oldName     = viewmodel.SelectedShader.Name;
            string oldImported = viewmodel.SelectedShader.ImportedFilename;
            string oldSource   = viewmodel.SelectedShader.SourceFilename;

            ImportShader import = new ImportShader();

            import.setAsset(viewmodel.SelectedShader);
            import.isEditMode = true;

            var result = import.ShowDialog();

            if (result == true)
            {
                if (oldName != import.asset.Name)
                {
                    var newName = import.asset.Name;

                    import.asset.Name = oldName;

                    //we changed the name, delete the old asset then create a new one
                    System.IO.File.Delete(oldImported);

                    import.asset.Name = newName;
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(import.Error))
                {
                    viewmodel.LogEvent(import.Error);
                }
            }
        }