Add copy URL button and add error handling on loading sokoban files
This commit is contained in:
Generated
+11
-2
@@ -102,6 +102,7 @@ namespace NethackHelper {
|
|||||||
this.fileToolStripMenuItem = new ToolStripMenuItem();
|
this.fileToolStripMenuItem = new ToolStripMenuItem();
|
||||||
this.resetToolStripMenuItem = new ToolStripMenuItem();
|
this.resetToolStripMenuItem = new ToolStripMenuItem();
|
||||||
this.toolTip1 = new ToolTip(this.components);
|
this.toolTip1 = new ToolTip(this.components);
|
||||||
|
this.copyOverlayURLToolStripMenuItem = new ToolStripMenuItem();
|
||||||
extrinsicLabel = new Label();
|
extrinsicLabel = new Label();
|
||||||
intrinsicLabel = new Label();
|
intrinsicLabel = new Label();
|
||||||
label3 = new Label();
|
label3 = new Label();
|
||||||
@@ -1082,7 +1083,7 @@ namespace NethackHelper {
|
|||||||
//
|
//
|
||||||
// fileToolStripMenuItem
|
// fileToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.fileToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { this.resetToolStripMenuItem });
|
this.fileToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { this.resetToolStripMenuItem, this.copyOverlayURLToolStripMenuItem });
|
||||||
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
||||||
this.fileToolStripMenuItem.Size = new Size(37, 20);
|
this.fileToolStripMenuItem.Size = new Size(37, 20);
|
||||||
this.fileToolStripMenuItem.Text = "File";
|
this.fileToolStripMenuItem.Text = "File";
|
||||||
@@ -1090,9 +1091,16 @@ namespace NethackHelper {
|
|||||||
// resetToolStripMenuItem
|
// resetToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.resetToolStripMenuItem.Name = "resetToolStripMenuItem";
|
this.resetToolStripMenuItem.Name = "resetToolStripMenuItem";
|
||||||
this.resetToolStripMenuItem.Size = new Size(102, 22);
|
this.resetToolStripMenuItem.Size = new Size(180, 22);
|
||||||
this.resetToolStripMenuItem.Text = "Reset";
|
this.resetToolStripMenuItem.Text = "Reset";
|
||||||
//
|
//
|
||||||
|
// copyOverlayURLToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.copyOverlayURLToolStripMenuItem.Name = "copyOverlayURLToolStripMenuItem";
|
||||||
|
this.copyOverlayURLToolStripMenuItem.Size = new Size(180, 22);
|
||||||
|
this.copyOverlayURLToolStripMenuItem.Text = "Copy Overlay URL";
|
||||||
|
this.copyOverlayURLToolStripMenuItem.Click += this.copyOverlayURLToolStripMenuItem_Click;
|
||||||
|
//
|
||||||
// MainForm
|
// MainForm
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new SizeF(7F, 15F);
|
this.AutoScaleDimensions = new SizeF(7F, 15F);
|
||||||
@@ -1205,5 +1213,6 @@ namespace NethackHelper {
|
|||||||
private PropertyBox waterWalkingBox;
|
private PropertyBox waterWalkingBox;
|
||||||
private PropertyBox lifeSavingBox;
|
private PropertyBox lifeSavingBox;
|
||||||
private PropertyBox flyingBox;
|
private PropertyBox flyingBox;
|
||||||
|
private ToolStripMenuItem copyOverlayURLToolStripMenuItem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7,6 +7,7 @@ namespace NethackHelper {
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using YamlDotNet.Core;
|
||||||
|
|
||||||
public partial class MainForm : Form {
|
public partial class MainForm : Form {
|
||||||
private const int PORT = 5993;
|
private const int PORT = 5993;
|
||||||
@@ -37,9 +38,19 @@ namespace NethackHelper {
|
|||||||
this.charismaSelector.ValueMember = "Modifier";
|
this.charismaSelector.ValueMember = "Modifier";
|
||||||
|
|
||||||
foreach (var filename in Directory.EnumerateFiles("sokoban", "*.yaml")) {
|
foreach (var filename in Directory.EnumerateFiles("sokoban", "*.yaml")) {
|
||||||
var sokoban = new SokobanSolution(YamlOptions.DeserializeFile<SokobanFile>(filename));
|
try {
|
||||||
this.sokobans.Add(sokoban);
|
var sokoban = new SokobanSolution(YamlOptions.DeserializeFile<SokobanFile>(filename));
|
||||||
this.sokobanLevelList.Items.Add(sokoban.Name);
|
this.sokobans.Add(sokoban);
|
||||||
|
this.sokobanLevelList.Items.Add(sokoban.Name);
|
||||||
|
} catch (YamlException err) {
|
||||||
|
Console.Error.WriteLine("Error loading sokoban file {0}", filename);
|
||||||
|
Console.Error.WriteLine(err.Message);
|
||||||
|
Console.Error.WriteLine(err.StackTrace);
|
||||||
|
} catch (SokobanError err) {
|
||||||
|
Console.Error.WriteLine("Error loading sokoban file {0}", filename);
|
||||||
|
Console.Error.WriteLine(err.Message);
|
||||||
|
Console.Error.WriteLine(err.StackTrace);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var versions = YamlOptions.DeserializeFile<List<Version>>("items/versions.yaml");
|
var versions = YamlOptions.DeserializeFile<List<Version>>("items/versions.yaml");
|
||||||
@@ -261,5 +272,9 @@ namespace NethackHelper {
|
|||||||
private void godAngryCheckbox_CheckedChanged(object sender, EventArgs e) {
|
private void godAngryCheckbox_CheckedChanged(object sender, EventArgs e) {
|
||||||
TrackerManager.Instance.Tracker.UpdateAngry(godAngryCheckbox.Checked);
|
TrackerManager.Instance.Tracker.UpdateAngry(godAngryCheckbox.Checked);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void copyOverlayURLToolStripMenuItem_Click(object sender, EventArgs e) {
|
||||||
|
Clipboard.SetText($"http://localhost:{PORT}/tracker.html");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user