У меня есть нижеприведенная Winform для игрового приложения, которое я разрабатываю:
Что я хочу сделать, это ввести нужные значения в Beam Arcs иНастройки луча, выберите имя оружия в listBox1, затем нажмите кнопку со стрелкой вправо, чтобы сохранить эти настройки в listBox2.Я хочу иметь возможность хранить несколько типов оружия, и когда я нажимаю между ними в listBox2, значения дуг и настроек обновляются соответствующим образом.
Это мой текущий код:
public class beamWeaponClass
{
public string beamValue, beamActiveValue, beamArcsValue,
beamBonusValue, beamCostValue, beamDamageValue, beamLoadValue,
beamLockValue, beamNameValue, beamRangeValue, beamRecycleValue,
listNameLabel;
public override string ToString()
{
return listNameLabel;
}
}
public void addBeamWeaponButton_Click(object sender, EventArgs e)
{
beamWeaponClass newBeamWeapon = new beamWeaponClass();
newBeamWeapon.beamValue = "0 0 1 1 " + addedBeamWeaponsList.Items.Count.ToString(); // Beam
newBeamWeapon.beamActiveValue = "0"; // Beam Active
newBeamWeapon.beamArcsValue = calculateArcs(); // Beam Arcs
newBeamWeapon.beamBonusValue = beamBonus.Text; // Beam Bonus
newBeamWeapon.beamCostValue = beamCost.Text; // Beam Cost
newBeamWeapon.beamDamageValue = "1"; // Beam Damage
newBeamWeapon.beamLoadValue = "0"; // Beam Load
newBeamWeapon.beamLockValue = "0"; // Beam Lock
newBeamWeapon.beamNameValue = beamWeaponList.GetItemText(beamWeaponList.SelectedItem); // Beam Name
newBeamWeapon.beamRangeValue = beamRange.Text; // Beam Range
newBeamWeapon.beamRecycleValue = beamRecycle.Text; // Beam Recycle
newBeamWeapon.listNameLabel = beamWeaponList.GetItemText(beamWeaponList.SelectedItem);
addedBeamWeaponsList.Items.Add(newBeamWeapon);
}
private void selectedBeamWeapons_SelectedIndexChanged(object sender, EventArgs e)
{
//beamBonus.Text = newBeamWeapon.beamBonusValue;
//beamCost.Text = newBeamWeapon.beamCost.Text;
//beamRange.Text = newBeamWeapon.beamRange.Text; // Beam Range
//beamRecycle.Text = newBeamWeapon.beamRecycle.Text;
}
private void removeBeamWeaponButton_Click(object sender, EventArgs e)
{
}
Как вывидите, я пытаюсь использовать класс для хранения этих значений, когда я нажимаю кнопку со стрелкой вправо.Затем я пытался узнать, хранятся ли эти значения с помощью метода selectedBeamWeapons_SelectedIndexChanged()
, но я закомментировал этот код, потому что я получал The name 'newBeamWeapon' does not exist in the current context
ошибки.Сама кнопка работает, по крайней мере, до определенной степени.Отправка значений из одного listBox1 в listBox2 работает, я просто не знаю, идут ли эти значения вместе с ним.
Кнопки справаизменить порядок и выбрать один, изменить его настройки и сохранить его.Я не очень беспокоюсь об этом сейчас, я думаю, что если я смогу сохранить и получить доступ к гвоздям, то изменение должно быть довольно легким.
Я не знаю, нахожусь ли я даже на правильном пути с хранением значенийне говоря уже о доступе к ним.Если кто-то сможет просмотреть то, что я сделал, и сообщить мне, как я могу получить доступ к этим сохраненным настройкам, я был бы очень признателен.
Надеюсь, все это имело смысл.