Updated sfall debug editor (from Mr.Stalin)

Formatted the code of sfall debug editor.
This commit is contained in:
NovaRain
2019-04-04 10:22:02 +08:00
parent dee0065863
commit 56083c3bc6
13 changed files with 395 additions and 262 deletions
+23 -14
View File
@@ -3,31 +3,38 @@ using System.Collections.Generic;
using System.Windows.Forms;
namespace FalloutClient {
public enum DataType : int { None=0, Int=1, Float=2, String=3 }
public partial class EditorWindow : Form {
public enum DataType : int { None = 0, Int = 1, Float = 2, String = 3 }
public partial class EditorWindow : Form
{
private readonly DataType[] types;
private readonly string[] values;
private bool save;
private EditorWindow(string[] names, DataType[] types, string[] values) {
this.types=types;
this.values=values;
this.types = types;
this.values = values;
InitializeComponent();
dataGridView1.SuspendLayout();
if(names==null) for(int i=0;i<types.Length;i++) dataGridView1.Rows.Add(i.ToString(), types[i].ToString(), values[i]);
else for(int i=0;i<types.Length;i++) dataGridView1.Rows.Add(names[i], types[i].ToString(), values[i]);
if (names == null)
for (int i = 0; i < types.Length; i++) dataGridView1.Rows.Add(i.ToString(), types[i].ToString(), values[i]);
else
for (int i = 0; i < types.Length; i++) dataGridView1.Rows.Add("0x" + (i * 4).ToString("x").ToUpper() + names[i], types[i].ToString(), values[i]);
dataGridView1.ResumeLayout();
}
public static string[] ShowEditor(string[] names, DataType[] types, string[] values) {
EditorWindow editor=new EditorWindow(names, types, values);
EditorWindow editor = new EditorWindow(names, types, values);
editor.ShowDialog();
if(editor.save) return editor.values;
else return null;
if (editor.save)
return editor.values;
else
return null;
}
private bool CheckInput(DataType type, string str) {
switch(type) {
switch (type) {
case DataType.Int:
int i;
return int.TryParse(str, out i);
@@ -39,9 +46,11 @@ namespace FalloutClient {
}
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) {
string str=(string)dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
if(CheckInput(types[e.RowIndex], str)) values[e.RowIndex]=str;
else dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value=values[e.RowIndex];
string str = (string)dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
if (CheckInput(types[e.RowIndex], str))
values[e.RowIndex] = str;
else
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = values[e.RowIndex];
}
private void bCancel_Click(object sender, EventArgs e) {
@@ -49,7 +58,7 @@ namespace FalloutClient {
}
private void bSave_Click(object sender, EventArgs e) {
save=true;
save = true;
Close();
}
}