mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/PCK-Studio.git
synced 2026-06-23 15:15:43 +00:00
ModelEditor -Add Save tool menu item & add TrySetTexture Delegate
This commit is contained in:
55
PCK-Studio/Forms/Editor/ModelEditor.Designer.cs
generated
55
PCK-Studio/Forms/Editor/ModelEditor.Designer.cs
generated
@@ -34,20 +34,26 @@
|
||||
this.exportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.removeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
|
||||
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.modelContextMenu.SuspendLayout();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// modelTreeView
|
||||
//
|
||||
this.modelTreeView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.modelTreeView.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||
this.modelTreeView.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.modelTreeView.ContextMenuStrip = this.modelContextMenu;
|
||||
this.modelTreeView.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.modelTreeView.ForeColor = System.Drawing.SystemColors.Window;
|
||||
this.modelTreeView.Location = new System.Drawing.Point(20, 60);
|
||||
this.modelTreeView.Location = new System.Drawing.Point(20, 87);
|
||||
this.modelTreeView.Name = "modelTreeView";
|
||||
this.modelTreeView.PathSeparator = ".";
|
||||
this.modelTreeView.Size = new System.Drawing.Size(335, 395);
|
||||
this.modelTreeView.Size = new System.Drawing.Size(335, 368);
|
||||
this.modelTreeView.TabIndex = 0;
|
||||
this.modelTreeView.BeforeSelect += new System.Windows.Forms.TreeViewCancelEventHandler(this.modelTreeView_BeforeSelect);
|
||||
//
|
||||
@@ -63,30 +69,61 @@
|
||||
// exportToolStripMenuItem
|
||||
//
|
||||
this.exportToolStripMenuItem.Name = "exportToolStripMenuItem";
|
||||
this.exportToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.exportToolStripMenuItem.Size = new System.Drawing.Size(117, 22);
|
||||
this.exportToolStripMenuItem.Text = "Export";
|
||||
this.exportToolStripMenuItem.Click += new System.EventHandler(this.exportToolStripMenuItem_Click);
|
||||
//
|
||||
// editToolStripMenuItem
|
||||
//
|
||||
this.editToolStripMenuItem.Name = "editToolStripMenuItem";
|
||||
this.editToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.editToolStripMenuItem.Size = new System.Drawing.Size(117, 22);
|
||||
this.editToolStripMenuItem.Text = "Edit";
|
||||
this.editToolStripMenuItem.Visible = false;
|
||||
//
|
||||
// removeToolStripMenuItem
|
||||
//
|
||||
this.removeToolStripMenuItem.Name = "removeToolStripMenuItem";
|
||||
this.removeToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.removeToolStripMenuItem.Size = new System.Drawing.Size(117, 22);
|
||||
this.removeToolStripMenuItem.Text = "Remove";
|
||||
this.removeToolStripMenuItem.Visible = false;
|
||||
//
|
||||
// menuStrip1
|
||||
//
|
||||
this.menuStrip1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
|
||||
this.menuStrip1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
|
||||
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.fileToolStripMenuItem});
|
||||
this.menuStrip1.Location = new System.Drawing.Point(20, 60);
|
||||
this.menuStrip1.Name = "menuStrip1";
|
||||
this.menuStrip1.Size = new System.Drawing.Size(335, 24);
|
||||
this.menuStrip1.TabIndex = 1;
|
||||
this.menuStrip1.Text = "menuStrip1";
|
||||
//
|
||||
// fileToolStripMenuItem
|
||||
//
|
||||
this.fileToolStripMenuItem.BackColor = System.Drawing.Color.Transparent;
|
||||
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.saveToolStripMenuItem});
|
||||
this.fileToolStripMenuItem.ForeColor = System.Drawing.SystemColors.Control;
|
||||
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
||||
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
|
||||
this.fileToolStripMenuItem.Text = "File";
|
||||
//
|
||||
// saveToolStripMenuItem
|
||||
//
|
||||
this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
|
||||
this.saveToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.saveToolStripMenuItem.Text = "Save";
|
||||
this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click);
|
||||
//
|
||||
// ModelEditor
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(375, 475);
|
||||
this.Controls.Add(this.menuStrip1);
|
||||
this.Controls.Add(this.modelTreeView);
|
||||
this.MainMenuStrip = this.menuStrip1;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.MinimumSize = new System.Drawing.Size(375, 475);
|
||||
@@ -95,7 +132,10 @@
|
||||
this.Text = "ModelEditor";
|
||||
this.Theme = MetroFramework.MetroThemeStyle.Dark;
|
||||
this.modelContextMenu.ResumeLayout(false);
|
||||
this.menuStrip1.ResumeLayout(false);
|
||||
this.menuStrip1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
@@ -106,5 +146,8 @@
|
||||
private System.Windows.Forms.ToolStripMenuItem exportToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem editToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem removeToolStripMenuItem;
|
||||
private System.Windows.Forms.MenuStrip menuStrip1;
|
||||
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem;
|
||||
}
|
||||
}
|
||||
@@ -18,15 +18,18 @@ namespace PckStudio.Forms.Editor
|
||||
{
|
||||
private readonly ModelContainer _models;
|
||||
private readonly TryGetTextureDelegate _tryGetTexture;
|
||||
private readonly TrySetTextureDelegate _trySetTexture;
|
||||
|
||||
|
||||
public delegate bool TryGetTextureDelegate(string path, out Image img);
|
||||
public delegate bool TrySetTextureDelegate(string path, Image img);
|
||||
|
||||
public ModelEditor(ModelContainer models, TryGetTextureDelegate tryGetTexture)
|
||||
public ModelEditor(ModelContainer models, TryGetTextureDelegate tryGetTexture, TrySetTextureDelegate trySetTexture)
|
||||
{
|
||||
InitializeComponent();
|
||||
_models = models;
|
||||
_tryGetTexture = tryGetTexture;
|
||||
_trySetTexture = trySetTexture;
|
||||
}
|
||||
|
||||
private class ModelNode : TreeNode
|
||||
@@ -124,5 +127,10 @@ namespace PckStudio.Forms.Editor
|
||||
editToolStripMenuItem.Visible = e.Node is ModelBoxNode;
|
||||
removeToolStripMenuItem.Visible = e.Node is ModelPartNode || e.Node is ModelBoxNode;
|
||||
}
|
||||
|
||||
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
DialogResult = DialogResult.OK;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,4 +120,7 @@
|
||||
<metadata name="modelContextMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>178, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -603,8 +603,7 @@ namespace PckStudio
|
||||
return;
|
||||
}
|
||||
|
||||
ModelEditor.TryGetTextureDelegate tryGetTexture =
|
||||
(string path, out Image img) =>
|
||||
ModelEditor.TryGetTextureDelegate tryGetTexture = (string path, out Image img) =>
|
||||
{
|
||||
bool found = currentPCK.TryGetAsset(path + ".png", PckAssetType.TextureFile, out PckAsset asset) ||
|
||||
currentPCK.TryGetAsset(path + ".tga", PckAssetType.TextureFile, out asset);
|
||||
@@ -612,7 +611,16 @@ namespace PckStudio
|
||||
return found;
|
||||
};
|
||||
|
||||
var editor = new ModelEditor(modelContainer, tryGetTexture);
|
||||
ModelEditor.TrySetTextureDelegate trySetTexture = (string path, Image img) =>
|
||||
{
|
||||
bool found = currentPCK.TryGetAsset(path + ".png", PckAssetType.TextureFile, out PckAsset foundAsset) ||
|
||||
currentPCK.TryGetAsset(path + ".tga", PckAssetType.TextureFile, out foundAsset);
|
||||
PckAsset asset = foundAsset ?? currentPCK.CreateNewAsset(path + ".png", PckAssetType.TextureFile);
|
||||
asset.SetTexture(img);
|
||||
return true;
|
||||
};
|
||||
|
||||
var editor = new ModelEditor(modelContainer, tryGetTexture, trySetTexture);
|
||||
if (editor.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
return;
|
||||
@@ -1967,10 +1975,9 @@ namespace PckStudio
|
||||
node.SelectedImageIndex = 6;
|
||||
break;
|
||||
case PckAssetType.ModelsFile:
|
||||
goto default;
|
||||
//node.ImageIndex = 8;
|
||||
//node.SelectedImageIndex = 8;
|
||||
//break;
|
||||
node.ImageIndex = 8;
|
||||
node.SelectedImageIndex = 8;
|
||||
break;
|
||||
case PckAssetType.SkinDataFile:
|
||||
goto default;
|
||||
//node.ImageIndex = 7;
|
||||
|
||||
Reference in New Issue
Block a user