Changed AddEntry to be better adapted for multiple purposes

This commit is contained in:
MattNL
2023-03-04 00:52:02 -05:00
parent 51ae9207fc
commit a34721fd99
3 changed files with 14 additions and 12 deletions

View File

@@ -1,4 +1,4 @@
namespace PckStudio.Forms.Additional_Popups.EntryForms
namespace PckStudio.Forms.Additional_Popups.EntityForms
{
partial class AddEntry
{

View File

@@ -3,34 +3,35 @@ using System.Collections.Generic;
using System.Windows.Forms;
using MetroFramework.Forms;
using Newtonsoft.Json.Linq;
using PckStudio.Forms.Utilities;
namespace PckStudio.Forms.Additional_Popups.EntryForms
namespace PckStudio.Forms.Additional_Popups.EntityForms
{
public partial class AddEntry : MetroForm
{
string selectedEntity = "";
JObject EntityJSONData;
public string SelectedEntity => selectedEntity;
List<TreeNode> treeViewEntityCache = new List<TreeNode>();
public AddEntry()
public AddEntry(JObject entityData, System.Drawing.Image[] entityImages)
{
InitializeComponent();
EntityJSONData = entityData;
ImageList entities = new ImageList();
entities.ColorDepth = ColorDepth.Depth32Bit;
entities.ImageSize = new System.Drawing.Size(32, 32);
entities.Images.AddRange(BehaviourUtil.entityImages);
entities.Images.AddRange(entityImages);
treeViewEntity.ImageList = entities;
try
{
int i = 0;
if (BehaviourUtil.entityData["entities"] != null)
if (EntityJSONData["entities"] != null)
{
foreach (JObject content in BehaviourUtil.entityData["entities"].Children())
foreach (JObject content in EntityJSONData["entities"].Children())
{
foreach (JProperty prop in content.Properties())
{

View File

@@ -152,7 +152,7 @@ namespace PckStudio.Forms.Editor
if (treeView1.SelectedNode == null) return;
if (!(treeView1.SelectedNode.Tag is BehaviourFile.RiderPositionOverride entry)) return;
var diag = new Additional_Popups.EntryForms.AddEntry();
var diag = new Additional_Popups.EntityForms.AddEntry(Utilities.BehaviourUtil.entityData, Utilities.BehaviourUtil.entityImages);
diag.acceptBtn.Text = "Save";
if (diag.ShowDialog() == DialogResult.OK)
@@ -194,17 +194,19 @@ namespace PckStudio.Forms.Editor
{
if (treeView1.SelectedNode.Tag is BehaviourFile.RiderPositionOverride.PositionOverride) treeView1.SelectedNode = treeView1.SelectedNode.Parent;
if (treeView1.SelectedNode.Tag is BehaviourFile.RiderPositionOverride entry)
if (treeView1.SelectedNode.Tag is BehaviourFile.RiderPositionOverride)
{
TreeNode OverrideNode = new TreeNode("Position Override");
OverrideNode.Tag = new BehaviourFile.RiderPositionOverride.PositionOverride();
OverrideNode.ImageIndex = 103;
OverrideNode.SelectedImageIndex = 103;
treeView1.SelectedNode.Nodes.Add(OverrideNode);
}
}
private void addNewEntryToolStripMenuItem_Click(object sender, EventArgs e)
{
var diag = new Additional_Popups.EntryForms.AddEntry();
var diag = new Additional_Popups.EntityForms.AddEntry(Utilities.BehaviourUtil.entityData, Utilities.BehaviourUtil.entityImages);
if(diag.ShowDialog() == DialogResult.OK)
{
@@ -217,7 +219,7 @@ namespace PckStudio.Forms.Editor
BehaviourFile.RiderPositionOverride NewOverride = new BehaviourFile.RiderPositionOverride(diag.SelectedEntity);
TreeNode NewOverrideNode = new TreeNode(NewOverride.name);
NewOverrideNode.Tag = NewOverride;
foreach (JObject content in Utilities.BehaviourUtil.entityData["entities"].Children())
{
var prop = content.Properties().FirstOrDefault(prop => prop.Name == NewOverride.name);
@@ -230,7 +232,6 @@ namespace PckStudio.Forms.Editor
}
}
treeView1.Nodes.Add(NewOverrideNode);
treeView1.SelectedNode = NewOverrideNode;
addNewPositionOverrideToolStripMenuItem_Click(sender, e); // adds a Position Override to the new Override
}