Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }