private bool f_change_texture(int index) { if (container == null) { return(false); } string name = container.ElementAt(index).Name; var scene = container.FirstOrDefault(x => x.Name == name); var model = scene as ModelChunk; var txts = new List <string>(); foreach (var tds in model.TextureData.Textures) { txts.Add(tds.FileName); } new Task(() => { var tcs = new TaskCompletionSource <bool>(); var texturechangeView = new TextureChangeView(txts, tcs); texturechangeView.ShowDialog(); tcs.Task.GetAwaiter().GetResult(); var editor = new Obj_Editor(); editor.ChangeTexture(model, texturechangeView.Textures); texturechangeView.Dispose(); }).Start(); return(true); }
private bool f_edit_shader(int index) { if (container == null) { return(false); } string name = container.ElementAt(index).Name; var scene = container.FirstOrDefault(x => x.Name == name); var model = scene as ModelChunk; new Task(() => { var tcs = new TaskCompletionSource <bool>(); var shadereditView = new ShaderEditView(model.Shader, tcs); shadereditView.ShowDialog(); tcs.Task.GetAwaiter().GetResult(); var editor = new Obj_Editor(); editor.EditShader(model, shadereditView.selectedShader); shadereditView.Dispose(); }).Start(); return(true); }
private bool f_edit_animation(int index) { if (container == null) { return(false); } string name = container.ElementAt(index).Name; var scene = container.FirstOrDefault(x => x.Name == name); var bone = scene as BoneChunk; if (bone != null) { new Task(() => { var tcs = new TaskCompletionSource <bool>(); var animationeditView = new AnimationEditView(bone.Animation, tcs); animationeditView.ShowDialog(); tcs.Task.GetAwaiter().GetResult(); var editor = new Obj_Editor(); editor.EditAnimation(bone, animationeditView.BoneAnimation); animationeditView.Dispose(); }).Start(); } else { var model = scene as ModelChunk; new Task(() => { var tcs = new TaskCompletionSource <bool>(); var animationeditView = new AnimationEditView(model.Animation, tcs); animationeditView.ShowDialog(); tcs.Task.GetAwaiter().GetResult(); var editor = new Obj_Editor(); editor.EditAnimation(model, animationeditView.ModelAnimation); animationeditView.Dispose(); }).Start(); } return(true); }