You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

325 lines
11 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
namespace Wheel_of_Time___Character_Sheets
{
public partial class Points : UserControl
{
private int givenpoints = 0;
private bool aktiv = true;
private bool backgroundskill = false;
private bool ogierbackgroundskill = false;
public event EventHandler Blub;
public event EventHandler OnDisposing;
[CategoryAttribute("Attribute"),
DescriptionAttribute("Das Blub")]
public int Multiplier
{
get { return int.Parse(lMultiplier.Text); }
set { lMultiplier.Text = value.ToString(); }
}
[CategoryAttribute("Attribute"),
DescriptionAttribute("Das Blub")]
public bool BackgroundSkill
{
get { return backgroundskill; }
set
{
if (value)
{
nudSkillLevel.Minimum = 4;
lGesamt.Text = ((nudSkillLevel.Value - 4) * int.Parse(lMultiplier.Text)).ToString();
}
else
{
nudSkillLevel.Minimum = 0;
lGesamt.Text = (nudSkillLevel.Value * int.Parse(lMultiplier.Text)).ToString();
}
cbSkillName.AutoCheck = !value;
backgroundskill = value;
}
}
[CategoryAttribute("Attribute"),
DescriptionAttribute("Das Blub")]
public bool OgierBackgroundSkill
{
get { return ogierbackgroundskill; }
set
{
if (value)
{
nudSkillLevel.Minimum = 2;
lGesamt.Text = ((nudSkillLevel.Value - 2) * int.Parse(lMultiplier.Text)).ToString();
}
else
{
nudSkillLevel.Minimum = 0;
lGesamt.Text = (nudSkillLevel.Value * int.Parse(lMultiplier.Text)).ToString();
}
cbSkillName.AutoCheck = !value;
ogierbackgroundskill = value;
}
}
[CategoryAttribute("Attribute"),
DescriptionAttribute("Das Blub")]
public string SkillName
{
get { return cbSkillName.Text; }
set { cbSkillName.Text = value; }
}
[CategoryAttribute("Attribute"),
DescriptionAttribute("Das Blub")]
public int GivenPoints
{
get { return givenpoints; }
set { CheckButtons(value); givenpoints = value; }
}
[CategoryAttribute("Attribute"),
DescriptionAttribute("Das Blub")]
public int UsedPoints
{
get { return int.Parse(lGesamt.Text); }
}
[CategoryAttribute("Attribute"),
DescriptionAttribute("Das Blub")]
public bool Aktiv
{
get { return aktiv; }
set { SetActive(value); aktiv = value; }
}
public Points()
{
InitializeComponent();
}
public Points(string Text, int LocationY, EventHandler Blub, EventHandler OnDisposing)
{
InitializeComponent();
SkillName = Text;
this.Location = new Point(0, LocationY);
this.Blub += Blub;
this.OnDisposing += OnDisposing;
bDelete.Enabled = true;
}
private void cbSkillName_CheckedChanged(object sender, EventArgs e)
{
if (cbSkillName.Checked == false)
{
nudSkillLevel.Value = 0;
}
else if (nudSkillLevel.Value == 0)
{
nudSkillLevel.Value = 1;
}
}
private void SetActive(bool active)
{
if (!active)
{
nudSkillLevel.Value = 0;
}
cbSkillName.Enabled = active;
nudSkillLevel.Enabled = active;
radioButton1.Enabled = active;
radioButton2.Enabled = active;
radioButton3.Enabled = active;
radioButton4.Enabled = active;
radioButton5.Enabled = active;
radioButton6.Enabled = active;
radioButton7.Enabled = active;
radioButton8.Enabled = active;
}
private void radioButton1_Click(object sender, EventArgs e)
{
if (!backgroundskill && !ogierbackgroundskill)
{
nudSkillLevel.Value = 1;
}
}
private void radioButton2_Click(object sender, EventArgs e)
{
if (!backgroundskill)
{
nudSkillLevel.Value = 2;
}
}
private void radioButton3_Click(object sender, EventArgs e)
{
if (!backgroundskill)
{
nudSkillLevel.Value = 3;
}
}
private void radioButton4_Click(object sender, EventArgs e)
{
nudSkillLevel.Value = 4;
}
private void radioButton5_Click(object sender, EventArgs e)
{
nudSkillLevel.Value = 5;
}
private void radioButton6_Click(object sender, EventArgs e)
{
nudSkillLevel.Value = 6;
}
private void radioButton7_Click(object sender, EventArgs e)
{
nudSkillLevel.Value = 7;
}
private void radioButton8_Click(object sender, EventArgs e)
{
nudSkillLevel.Value = 8;
}
private void CheckButtons(int num)
{
switch (num)
{
case 0:
cbSkillName.Checked = false;
radioButton1.Checked = false;
radioButton2.Checked = false;
radioButton3.Checked = false;
radioButton4.Checked = false;
radioButton5.Checked = false;
radioButton6.Checked = false;
radioButton7.Checked = false;
radioButton8.Checked = false;
break;
case 1:
cbSkillName.Checked = true;
radioButton1.Checked = true;
radioButton2.Checked = false;
radioButton3.Checked = false;
radioButton4.Checked = false;
radioButton5.Checked = false;
radioButton6.Checked = false;
radioButton7.Checked = false;
radioButton8.Checked = false;
break;
case 2:
cbSkillName.Checked = true;
radioButton1.Checked = true;
radioButton2.Checked = true;
radioButton3.Checked = false;
radioButton4.Checked = false;
radioButton5.Checked = false;
radioButton6.Checked = false;
radioButton7.Checked = false;
radioButton8.Checked = false;
break;
case 3:
cbSkillName.Checked = true;
radioButton1.Checked = true;
radioButton2.Checked = true;
radioButton3.Checked = true;
radioButton4.Checked = false;
radioButton5.Checked = false;
radioButton6.Checked = false;
radioButton7.Checked = false;
radioButton8.Checked = false;
break;
case 4:
cbSkillName.Checked = true;
radioButton1.Checked = true;
radioButton2.Checked = true;
radioButton3.Checked = true;
radioButton4.Checked = true;
radioButton5.Checked = false;
radioButton6.Checked = false;
radioButton7.Checked = false;
radioButton8.Checked = false;
break;
case 5:
cbSkillName.Checked = true;
radioButton1.Checked = true;
radioButton2.Checked = true;
radioButton3.Checked = true;
radioButton4.Checked = true;
radioButton5.Checked = true;
radioButton6.Checked = false;
radioButton7.Checked = false;
radioButton8.Checked = false;
break;
case 6:
cbSkillName.Checked = true;
radioButton1.Checked = true;
radioButton2.Checked = true;
radioButton3.Checked = true;
radioButton4.Checked = true;
radioButton5.Checked = true;
radioButton6.Checked = true;
radioButton7.Checked = false;
radioButton8.Checked = false;
break;
case 7:
cbSkillName.Checked = true;
radioButton1.Checked = true;
radioButton2.Checked = true;
radioButton3.Checked = true;
radioButton4.Checked = true;
radioButton5.Checked = true;
radioButton6.Checked = true;
radioButton7.Checked = true;
radioButton8.Checked = false;
break;
case 8:
cbSkillName.Checked = true;
radioButton1.Checked = true;
radioButton2.Checked = true;
radioButton3.Checked = true;
radioButton4.Checked = true;
radioButton5.Checked = true;
radioButton6.Checked = true;
radioButton7.Checked = true;
radioButton8.Checked = true;
break;
default:
break;
}
}
private void nudSkillLevel_ValueChanged(object sender, EventArgs e)
{
GivenPoints = Convert.ToInt32(nudSkillLevel.Value);
if (backgroundskill)
{ lGesamt.Text = ((nudSkillLevel.Value - 4) * int.Parse(lMultiplier.Text)).ToString(); }
else if (ogierbackgroundskill)
{ lGesamt.Text = ((nudSkillLevel.Value - 2) * int.Parse(lMultiplier.Text)).ToString(); }
else
{ lGesamt.Text = (nudSkillLevel.Value * int.Parse(lMultiplier.Text)).ToString(); }
Blub(null, null);
}
private void bDelete_Click(object sender, EventArgs e)
{
OnDisposing(SkillName, null);
this.Dispose();
}
}
}