First form's code (Main Menu):
public partial class MainMenu : Form
{
public class Player
{
public string name, curWeapon, wpn1, wpn2, wpn3, wpn4, wpn5, curArmor, arm1,
arm2, arm3, arm4, arm5, activeQuest, curPlace, Gurgonauth = "Gurgonauth",
Klebbetoth, Shalthazaar, Khurx, dungeon, dunEnemy, dun1, dun2;
public int dmg, armor, maxArmor, strength, endurance, accuracy, luck, hp, maxHp,
xp, xpmax, lvl, gold, bank, monstersKilled;
}
private void Form1_Load(object sender, EventArgs e) => name.MaxLength = 15;
public void button1_Click(object sender, EventArgs e)
{
var p = new Player();
p.name = name.Text;
p.hp = 100;
p.maxHp = 100;
p.gold = 0;
p.lvl = 1;
p.strength = 0;
p.luck = 0;
p.xp = 0;
p.xpmax = 100;
p.curWeapon = "Bare Hands";
p.curPlace = p.Gurgonauth;
p.endurance = 0;
p.dmg = 5;
p.curArmor = "None";
p.monstersKilled = 0;
Overview ovr = new Overview(p);
ovr.Show(this);
this.Hide();
}
}
Second form's code (Overview):
public partial class Overview : Form
{
var p = new MainMenu.Player();
public Overview(MainMenu.Player p)
{
InitializeComponent();
name.Text += p.name;
hp.Text += p.hp.ToString();
xp.Text += p.xp.ToString() + "/" + p.xpmax.ToString();
level.Text += p.lvl.ToString();
curWpn.Text += p.curWeapon;
curArm.Text += p.curArmor;
gold.Text += p.gold.ToString();
} // It does what I want it to do
private void Overview_FormClosing(object sender, FormClosingEventArgs e) => Application.Exit();
public void button1_Click(object sender, EventArgs e) => p.gold += 10; // Shouldn't this work?
}
The problem is in the second form's code (Overview). As you can see from my comments, it does what I want it to do, but that p.gold += 10 doesn't work. Why doesn't it work? I cannot understand why it doesn't work. What should I write to make it work?