Пример #1
0
        public void Load(System.IO.Stream stream)
        {
            Text     = FileName;
            Renderer = new KCLRendering();

            DrawableContainer = new DrawableContainer()
            {
                Name      = FileName,
                Drawables = new List <AbstractGlDrawable>()
                {
                    Renderer
                },
            };

            stream.Position = 0;
            KclFile         = new KCLFile(stream);
            ReloadData();

            string path = Path.Combine(Runtime.ExecutableDir, "KclMaterialPresets");

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            CollisionPresetData.LoadPresets(Directory.GetFiles(path));
        }
Пример #2
0
            public void CreateNew(object sender, EventArgs args)
            {
                bool isBigEndian = false;

                if (sender.ToString() == "KCL (Wii U)")
                {
                    isBigEndian = true;
                }

                OpenFileDialog ofd = new OpenFileDialog();

                ofd.Filter = "Supported Formats|*.obj";
                if (ofd.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                string path = Path.Combine(Runtime.ExecutableDir, "KclMaterialPresets");

                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }

                CollisionPresetData.LoadPresets(Directory.GetFiles("KclMaterialPresets"));

                var form = Runtime.MainForm;

                var thread = new Thread(() =>
                {
                    //Load runtime values to gui handler
                    MaterialWindowSettings.GamePreset      = Runtime.CollisionSettings.KCLGamePreset;
                    MaterialWindowSettings.Platform        = Runtime.CollisionSettings.KCLGamePreset;
                    MaterialWindowSettings.UsePresetEditor = Runtime.CollisionSettings.KCLUsePresetEditor;

                    var result = CollisionLoader.CreateCollisionFromObject(form, ofd.FileName);
                    CollisionLoader.CloseConsole(form);

                    if (result.KclFie == null)
                    {
                        return;
                    }

                    SaveMaterialWindowSettings();

                    form.Invoke((MethodInvoker) delegate
                    {
                        string name = Path.GetFileNameWithoutExtension(ofd.FileName);

                        KCL kcl     = new KCL();
                        kcl.KclFile = result.KclFie;
                        if (result.AttributeFile is MaterialAttributeBymlFile)
                        {
                            kcl.AttributeByml = ((MaterialAttributeBymlFile)result.AttributeFile).BymlFile;
                        }
                        kcl.Text      = name;
                        kcl.IFileInfo = new IFileInfo();
                        kcl.FileName  = name;
                        kcl.Renderer  = new KCLRendering();
                        kcl.ReloadData();

                        kcl.DrawableContainer = new DrawableContainer()
                        {
                            Name      = kcl.FileName,
                            Drawables = new List <AbstractGlDrawable>()
                            {
                                kcl.Renderer
                            },
                        };

                        ObjectEditor editor = new ObjectEditor(kcl);
                        editor.Text         = name;
                        LibraryGUI.CreateMdiWindow(editor);
                    });
                });

                thread.Start();
            }
Пример #3
0
        public Form1()
        {
            InitializeComponent();

            CollisionPresetData.LoadPresets(Directory.GetFiles("CollisionPresets"));
        }