This commit is contained in:
miku-666
2023-05-11 22:12:33 +02:00
7 changed files with 21 additions and 50 deletions

View File

@@ -10,15 +10,14 @@ namespace PckStudio.Forms.Additional_Popups.EntityForms
{
string selectedEntity = "";
JObject EntityJSONData;
JObject EntityJSONData = JObject.Parse(Properties.Resources.entityData);
public string SelectedEntity => selectedEntity;
List<TreeNode> treeViewEntityCache = new List<TreeNode>();
public AddEntry(JObject entityData, System.Drawing.Image[] entityImages)
public AddEntry(string dataType, System.Drawing.Image[] entityImages)
{
InitializeComponent();
EntityJSONData = entityData;
ImageList entities = new ImageList();
entities.ColorDepth = ColorDepth.Depth32Bit;
entities.ImageSize = new System.Drawing.Size(32, 32);
@@ -29,9 +28,9 @@ namespace PckStudio.Forms.Additional_Popups.EntityForms
{
int i = 0;
if (EntityJSONData["entities"] != null)
if (EntityJSONData[dataType] != null)
{
foreach (JObject content in EntityJSONData["entities"].Children())
foreach (JObject content in EntityJSONData[dataType].Children())
{
foreach (JProperty prop in content.Properties())
{

View File

@@ -20,6 +20,8 @@ namespace PckStudio.Forms.Editor
private readonly PckFile.FileData _file;
BehaviourFile behaviourFile;
private readonly JObject EntityJSONData = JObject.Parse(Properties.Resources.entityData);
void SetUpTree()
{
treeView1.BeginUpdate();
@@ -28,13 +30,13 @@ namespace PckStudio.Forms.Editor
{
TreeNode EntryNode = new TreeNode(entry.name);
foreach (JObject content in Utilities.BehaviourResources.entityData["behaviours"].Children())
foreach (JObject content in EntityJSONData["behaviours"].Children())
{
var prop = content.Properties().FirstOrDefault(prop => prop.Name == entry.name);
if (prop is JProperty)
{
EntryNode.Text = (string)prop.Value;
EntryNode.ImageIndex = Utilities.BehaviourResources.entityData["behaviours"].Children().ToList().IndexOf(content);
EntryNode.ImageIndex = EntityJSONData["behaviours"].Children().ToList().IndexOf(content);
EntryNode.SelectedImageIndex = EntryNode.ImageIndex;
break;
}
@@ -149,7 +151,7 @@ namespace PckStudio.Forms.Editor
if (treeView1.SelectedNode == null) return;
if (!(treeView1.SelectedNode.Tag is BehaviourFile.RiderPositionOverride entry)) return;
var diag = new Additional_Popups.EntityForms.AddEntry(Utilities.BehaviourResources.entityData, Utilities.BehaviourResources.entityImages);
var diag = new AddEntry("behaviours", Utilities.BehaviourResources.entityImages);
diag.acceptBtn.Text = "Save";
if (diag.ShowDialog() == DialogResult.OK)
@@ -164,13 +166,13 @@ namespace PckStudio.Forms.Editor
entry.name = diag.SelectedEntity;
treeView1.SelectedNode.Tag = entry;
foreach (JObject content in Utilities.BehaviourResources.entityData["behaviours"].Children())
foreach (JObject content in EntityJSONData["behaviours"].Children())
{
var prop = content.Properties().FirstOrDefault(prop => prop.Name == entry.name);
if (prop is JProperty)
{
treeView1.SelectedNode.Text = (string)prop.Value;
treeView1.SelectedNode.ImageIndex = Utilities.BehaviourResources.entityData["behaviours"].Children().ToList().IndexOf(content);
treeView1.SelectedNode.ImageIndex = EntityJSONData["behaviours"].Children().ToList().IndexOf(content);
treeView1.SelectedNode.SelectedImageIndex = treeView1.SelectedNode.ImageIndex;
break;
}
@@ -203,7 +205,7 @@ namespace PckStudio.Forms.Editor
private void addNewEntryToolStripMenuItem_Click(object sender, EventArgs e)
{
var diag = new AddEntry(Utilities.BehaviourResources.entityData, Utilities.BehaviourResources.entityImages);
var diag = new AddEntry("behaviours", Utilities.BehaviourResources.entityImages);
if(diag.ShowDialog() == DialogResult.OK)
{
@@ -217,13 +219,13 @@ namespace PckStudio.Forms.Editor
TreeNode NewOverrideNode = new TreeNode(NewOverride.name);
NewOverrideNode.Tag = NewOverride;
foreach (JObject content in Utilities.BehaviourResources.entityData["behaviours"].Children())
foreach (JObject content in EntityJSONData["behaviours"].Children())
{
var prop = content.Properties().FirstOrDefault(prop => prop.Name == NewOverride.name);
if (prop is JProperty)
{
NewOverrideNode.Text = (string)prop.Value;
NewOverrideNode.ImageIndex = Utilities.BehaviourResources.entityData["behaviours"].Children().ToList().IndexOf(content);
NewOverrideNode.ImageIndex = EntityJSONData["behaviours"].Children().ToList().IndexOf(content);
NewOverrideNode.SelectedImageIndex = NewOverrideNode.ImageIndex;
break;
}

View File

@@ -19,6 +19,8 @@ namespace PckStudio.Forms.Editor
private readonly PckFile.FileData _file;
MaterialContainer materialFile;
private readonly JObject EntityJSONData = JObject.Parse(Properties.Resources.entityData);
void SetUpTree()
{
treeView1.BeginUpdate();
@@ -27,13 +29,13 @@ namespace PckStudio.Forms.Editor
{
TreeNode EntryNode = new TreeNode(entry.Name);
foreach (JObject content in Utilities.MaterialResources.entityData["materials"].Children())
foreach (JObject content in EntityJSONData["materials"].Children())
{
var prop = content.Properties().FirstOrDefault(prop => prop.Name == entry.Name);
if (prop is JProperty)
{
EntryNode.Text = (string)prop.Value;
EntryNode.ImageIndex = Utilities.MaterialResources.entityData["materials"].Children().ToList().IndexOf(content);
EntryNode.ImageIndex = EntityJSONData["materials"].Children().ToList().IndexOf(content);
EntryNode.SelectedImageIndex = EntryNode.ImageIndex;
break;
}
@@ -132,7 +134,7 @@ namespace PckStudio.Forms.Editor
private void addToolStripMenuItem_Click(object sender, EventArgs e)
{
var diag = new Additional_Popups.EntityForms.AddEntry(Utilities.MaterialResources.entityData, Utilities.MaterialResources.entityImages);
var diag = new Additional_Popups.EntityForms.AddEntry("materials", Utilities.MaterialResources.entityImages);
if (diag.ShowDialog() == DialogResult.OK)
{
@@ -146,13 +148,13 @@ namespace PckStudio.Forms.Editor
TreeNode NewEntryNode = new TreeNode(NewEntry.Name);
NewEntryNode.Tag = NewEntry;
foreach (JObject content in Utilities.MaterialResources.entityData["materials"].Children())
foreach (JObject content in EntityJSONData["materials"].Children())
{
var prop = content.Properties().FirstOrDefault(prop => prop.Name == NewEntry.Name);
if (prop is JProperty)
{
NewEntryNode.Text = (string)prop.Value;
NewEntryNode.ImageIndex = Utilities.MaterialResources.entityData["materials"].Children().ToList().IndexOf(content);
NewEntryNode.ImageIndex = EntityJSONData["materials"].Children().ToList().IndexOf(content);
NewEntryNode.SelectedImageIndex = NewEntryNode.ImageIndex;
break;
}

View File

@@ -12,7 +12,6 @@ namespace PckStudio.Forms.Utilities
{
public static class BehaviourResources
{
public static readonly JObject entityData = JObject.Parse(Resources.entityData);
private static Image[] _entityImages;
public static Image[] entityImages => _entityImages ??= Resources.entities_sheet.CreateImageList(32).ToArray();

View File

@@ -14,7 +14,6 @@ namespace PckStudio.Forms.Utilities
{
public static class MaterialResources
{
public static readonly JObject entityData = JObject.Parse(Resources.entityData);
private static Image[] _entityImages;
public static Image[] entityImages => _entityImages ??= Resources.entities_sheet.CreateImageList(32).ToArray();

View File

@@ -1,29 +0,0 @@
using Newtonsoft.Json.Linq;
using System.Drawing;
using System.Linq;
using System.IO;
using PckStudio.Properties;
using PckStudio.Extensions;
using OMI.Formats.Model;
using OMI.Formats.Pck;
using OMI.Workers.Model;
namespace PckStudio.Forms.Utilities
{
public static class ModelsResources
{
public static readonly JObject entityData = JObject.Parse(Resources.entityData);
private static Image[] _entityImages;
public static Image[] entityImages => _entityImages ??= Resources.entities_sheet.CreateImageList(32).ToArray();
public static byte[] ModelsFileInitializer()
{
using var stream = new MemoryStream();
var writer = new ModelFileWriter(new ModelContainer());
writer.WriteToStream(stream);
return stream.ToArray();
}
}
}

View File

@@ -368,7 +368,6 @@
<Compile Include="Forms\Additional-Popups\InProgressPrompt.Designer.cs">
<DependentUpon>InProgressPrompt.cs</DependentUpon>
</Compile>
<Compile Include="Forms\Utilities\ModelsResources.cs" />
<Compile Include="Forms\Utilities\MaterialResources.cs" />
<Compile Include="Forms\Utilities\BehaviourResources.cs" />
<Compile Include="Forms\Utilities\AnimationResources.cs" />