From bb417bd7987625220c3192be91f38a8d44d176a7 Mon Sep 17 00:00:00 2001 From: Kurt Date: Sun, 29 Mar 2020 18:44:34 -0700 Subject: [PATCH] Make item editor generic for all item types --- NHSE.WinForms/Editor.cs | 8 ++++---- NHSE.WinForms/Subforms/PlayerItemEditor.Designer.cs | 2 +- NHSE.WinForms/Subforms/PlayerItemEditor.cs | 10 +++++----- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/NHSE.WinForms/Editor.cs b/NHSE.WinForms/Editor.cs index 366866a..8db5f97 100644 --- a/NHSE.WinForms/Editor.cs +++ b/NHSE.WinForms/Editor.cs @@ -114,7 +114,7 @@ private void B_EditPlayerItems_Click(object sender, EventArgs e) var p1 = pers.Pocket1; var p2 = pers.Pocket2; var items = p2.Concat(p1).ToArray(); - using var editor = new PlayerItemEditor(items, 10, 4); + using var editor = new PlayerItemEditor(items, 10, 4); if (editor.ShowDialog() != DialogResult.OK) return; @@ -128,7 +128,7 @@ private void B_Storage_Click(object sender, EventArgs e) var player = SAV.Players[PlayerIndex]; var pers = player.Personal; var p1 = pers.Storage; - using var editor = new PlayerItemEditor(p1, 10, 5); + using var editor = new PlayerItemEditor(p1, 10, 5); if (editor.ShowDialog() == DialogResult.OK) pers.Storage = p1; } @@ -136,7 +136,7 @@ private void B_Storage_Click(object sender, EventArgs e) private void B_RecycleBin_Click(object sender, EventArgs e) { var items = SAV.Main.RecycleBin; - using var editor = new PlayerItemEditor(items, 10, 4); + using var editor = new PlayerItemEditor(items, 10, 4); if (editor.ShowDialog() == DialogResult.OK) SAV.Main.RecycleBin = items; } @@ -360,7 +360,7 @@ private void B_EditFurniture_Click(object sender, EventArgs e) { var v = SAV.Main.GetVillager(VillagerIndex); var items = v.Furniture; - using var editor = new PlayerItemEditor(items, 8, 2); + using var editor = new PlayerItemEditor(items, 8, 2); if (editor.ShowDialog() != DialogResult.OK) return; diff --git a/NHSE.WinForms/Subforms/PlayerItemEditor.Designer.cs b/NHSE.WinForms/Subforms/PlayerItemEditor.Designer.cs index b596673..a32a09c 100644 --- a/NHSE.WinForms/Subforms/PlayerItemEditor.Designer.cs +++ b/NHSE.WinForms/Subforms/PlayerItemEditor.Designer.cs @@ -1,6 +1,6 @@ namespace NHSE.WinForms { - partial class PlayerItemEditor + partial class PlayerItemEditor { /// /// Required designer variable. diff --git a/NHSE.WinForms/Subforms/PlayerItemEditor.cs b/NHSE.WinForms/Subforms/PlayerItemEditor.cs index 562777a..1d69cd4 100644 --- a/NHSE.WinForms/Subforms/PlayerItemEditor.cs +++ b/NHSE.WinForms/Subforms/PlayerItemEditor.cs @@ -7,12 +7,12 @@ namespace NHSE.WinForms { - public partial class PlayerItemEditor : Form + public partial class PlayerItemEditor : Form where T : Item { - private readonly IReadOnlyList Items; + private readonly IReadOnlyList Items; private readonly Action LoadItems; - public PlayerItemEditor(IReadOnlyList array, int width, int height) + public PlayerItemEditor(IReadOnlyList array, int width, int height) { InitializeComponent(); Items = array; @@ -58,7 +58,7 @@ private void B_Dump_Click(object sender, EventArgs e) }; if (sfd.ShowDialog() != DialogResult.OK) return; - var bytes = Item.SetArray(Items); + var bytes = Items.SetArray(Items[0].ToBytesClass().Length); File.WriteAllBytes(sfd.FileName, bytes); } @@ -73,7 +73,7 @@ private void B_Load_Click(object sender, EventArgs e) return; var data = File.ReadAllBytes(sfd.FileName); - var import = Item.GetArray(data); + var import = data.GetArray(Items[0].ToBytesClass().Length); for (int i = 0; i < Items.Count && i < import.Length ; i++) Items[i].CopyFrom(import[i]);