本文整理汇总了C#中WeaponMod类的典型用法代码示例。如果您正苦于以下问题:C# WeaponMod类的具体用法?C# WeaponMod怎么用?C# WeaponMod使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
WeaponMod类属于命名空间,在下文中一共展示了WeaponMod类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: tsVehicleAddWeaponModification_Click
private void tsVehicleAddWeaponModification_Click(object sender, EventArgs e)
{
// Attempt to locate the selected VehicleWeapon.
bool blnFound = false;
Vehicle objFoundVehicle = new Vehicle(_objCharacter);
Weapon objWeapon = _objFunctions.FindVehicleWeapon(treVehicles.SelectedNode.Tag.ToString(), _objCharacter.Vehicles, out objFoundVehicle);
if (objWeapon != null)
blnFound = true;
if (!blnFound)
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_VehicleWeaponMods"), LanguageManager.Instance.GetString("MessageTitle_VehicleWeaponMods"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
frmSelectVehicleMod frmPickVehicleMod = new frmSelectVehicleMod(_objCharacter);
// Make sure the Weapon allows Modifications to be added to it.
// Open the Weapons XML file and locate the selected Weapon.
XmlDocument objXmlDocument = XmlManager.Instance.Load("weapons.xml");
XmlNode objXmlWeapon = objXmlDocument.SelectSingleNode("/chummer/weapons/weapon[name = \"" + objWeapon.Name + "\"]");
if (objXmlWeapon == null)
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_CannotModifyWeaponMod"), LanguageManager.Instance.GetString("MessageTitle_CannotModifyWeapon"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (objXmlWeapon["allowmod"] != null)
{
if (objXmlWeapon["allowmod"].InnerText == "false")
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_CannotModifyWeaponMod"), LanguageManager.Instance.GetString("MessageTitle_CannotModifyWeapon"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
// Set the Weapon properties for the window.
frmPickVehicleMod.WeaponCost = objWeapon.Cost;
frmPickVehicleMod.TotalWeaponCost = objWeapon.TotalCost;
frmPickVehicleMod.ModMultiplier = objWeapon.ModMultiplier;
frmPickVehicleMod.InputFile = "weapons";
frmPickVehicleMod.ShowDialog(this);
// Make sure the dialogue window was not canceled.
if (frmPickVehicleMod.DialogResult == DialogResult.Cancel)
return;
// Locate the selected piece.
XmlNode objXmlMod = objXmlDocument.SelectSingleNode("/chummer/mods/mod[name = \"" + frmPickVehicleMod.SelectedMod + "\"]");
TreeNode objNode = new TreeNode();
WeaponMod objMod = new WeaponMod(_objCharacter);
objMod.Create(objXmlMod, objNode);
objMod.Rating = frmPickVehicleMod.SelectedRating;
objMod.Parent = objWeapon;
objWeapon.WeaponMods.Add(objMod);
objNode.Text = objMod.DisplayName;
objNode.ContextMenuStrip = cmsVehicleWeaponMod;
treVehicles.SelectedNode.Nodes.Add(objNode);
treVehicles.SelectedNode.Expand();
if (frmPickVehicleMod.AddAgain)
tsVehicleAddWeaponModification_Click(sender, e);
UpdateCharacterInfo();
}
示例2: FindWeaponMod
/// <summary>
/// Locate a WeaponMod within the character's Weapons.
/// </summary>
/// <param name="strGuid">InternalId of the WeaponMod to find.</param>
/// <param name="lstWeapons">List of Weapons to search.</param>
public WeaponMod FindWeaponMod(string strGuid, List<Weapon> lstWeapons)
{
WeaponMod objReturn = new WeaponMod(_objCharacter);
foreach (Weapon objWeapon in lstWeapons)
{
foreach (WeaponMod objMod in objWeapon.WeaponMods)
{
if (objMod.InternalId == strGuid)
return objMod;
}
// Look within Underbarrel Weapons.
objReturn = FindWeaponMod(strGuid, objWeapon.UnderbarrelWeapons);
if (objReturn != null)
return objReturn;
}
return null;
}
示例3: AddPACKSKit
//.........这里部分代码省略.........
}
}
}
XmlDocument objXmlGearDocument = XmlManager.Instance.Load("gear.xml");
foreach (XmlNode objXmlGear in objXmlArmor.SelectNodes("gears/gear"))
AddPACKSGear(objXmlGearDocument, objXmlGear, objNode, objArmor, cmsArmorGear, blnCreateChildren);
objNode.ContextMenuStrip = cmsArmor;
treArmor.Nodes[0].Nodes.Add(objNode);
treArmor.Nodes[0].Expand();
}
}
// Update Weapons.
if (objXmlKit["weapons"] != null)
{
XmlDocument objXmlWeaponDocument = XmlManager.Instance.Load("weapons.xml");
pgbProgress.Visible = true;
pgbProgress.Value = 0;
pgbProgress.Maximum = objXmlKit.SelectNodes("weapons/weapon").Count;
int i = 0;
foreach (XmlNode objXmlWeapon in objXmlKit.SelectNodes("weapons/weapon"))
{
i++;
pgbProgress.Value = i;
Application.DoEvents();
XmlNode objXmlWeaponNode = objXmlWeaponDocument.SelectSingleNode("/chummer/weapons/weapon[name = \"" + objXmlWeapon["name"].InnerText + "\"]");
Weapon objWeapon = new Weapon(_objCharacter);
TreeNode objNode = new TreeNode();
objWeapon.Create(objXmlWeaponNode, _objCharacter, objNode, cmsWeapon, cmsWeaponAccessory, cmsWeaponMod, blnCreateChildren);
_objCharacter.Weapons.Add(objWeapon);
// Look for Weapon Accessories.
if (objXmlWeapon["accessories"] != null)
{
foreach (XmlNode objXmlAccessory in objXmlWeapon.SelectNodes("accessories/accessory"))
{
XmlNode objXmlAccessoryNode = objXmlWeaponDocument.SelectSingleNode("/chummer/accessories/accessory[name = \"" + objXmlAccessory["name"].InnerText + "\"]");
WeaponAccessory objMod = new WeaponAccessory(_objCharacter);
TreeNode objModNode = new TreeNode();
string strMount = "";
int intRating = 0;
if (objXmlAccessory["mount"] != null)
strMount = objXmlAccessory["mount"].InnerText;
objMod.Create(objXmlAccessoryNode, objModNode, strMount, intRating);
objModNode.ContextMenuStrip = cmsWeaponAccessory;
objMod.Parent = objWeapon;
objWeapon.WeaponAccessories.Add(objMod);
XmlDocument objXmlGearDocument = XmlManager.Instance.Load("gear.xml");
foreach (XmlNode objXmlGear in objXmlAccessory.SelectNodes("gears/gear"))
AddPACKSGear(objXmlGearDocument, objXmlGear, objModNode, objMod, cmsWeaponAccessoryGear, blnCreateChildren);
objNode.Nodes.Add(objModNode);
objNode.Expand();
}
}
// Look for Weapon Mods.
if (objXmlWeapon["mods"] != null)
{
示例4: tsWeaponAddModification_Click
private void tsWeaponAddModification_Click(object sender, EventArgs e)
{
// Make sure a parent item is selected, then open the Select Accessory window.
try
{
if (treWeapons.SelectedNode.Level == 0)
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_SelectWeaponMod"), LanguageManager.Instance.GetString("MessageTitle_SelectWeapon"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
catch
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_SelectWeaponMod"), LanguageManager.Instance.GetString("MessageTitle_SelectWeapon"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
// Locate the Weapon that is selected in the Tree.
Weapon objWeapon = (Weapon)_objFunctions.FindEquipment(treWeapons.SelectedNode.Tag.ToString(), _objCharacter.Weapons, typeof(Weapon));
frmSelectVehicleMod frmPickVehicleMod = new frmSelectVehicleMod(_objCharacter);
// Make sure the Weapon allows Modifications to be added to it.
// Open the Weapons XML file and locate the selected Weapon.
XmlDocument objXmlDocument = XmlManager.Instance.Load("weapons.xml");
XmlNode objXmlWeapon = objXmlDocument.SelectSingleNode("/chummer/weapons/weapon[id = \"" + objWeapon.ExternalId + "\"]");
if (objXmlWeapon == null)
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_CannotModifyWeaponMod"), LanguageManager.Instance.GetString("MessageTitle_CannotModifyWeapon"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (objXmlWeapon["allowmod"] != null)
{
if (objXmlWeapon["allowmod"].InnerText == "false")
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_CannotModifyWeaponMod"), LanguageManager.Instance.GetString("MessageTitle_CannotModifyWeapon"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
// Set the Weapon properties for the window.
frmPickVehicleMod.WeaponCost = objWeapon.Cost;
frmPickVehicleMod.TotalWeaponCost = objWeapon.TotalCost;
frmPickVehicleMod.ModMultiplier = objWeapon.ModMultiplier;
frmPickVehicleMod.WindowMode = frmSelectVehicleMod.Mode.WeaponMod;
frmPickVehicleMod.ShowDialog(this);
// Make sure the dialogue window was not canceled.
if (frmPickVehicleMod.DialogResult == DialogResult.Cancel)
return;
// Locate the selected piece.
XmlNode objXmlMod = objXmlDocument.SelectSingleNode("/chummer/mods/mod[id = \"" + frmPickVehicleMod.SelectedMod + "\"]");
TreeNode objNode = new TreeNode();
WeaponMod objMod = new WeaponMod(_objCharacter);
objMod.Create(objXmlMod, objNode);
objMod.Rating = frmPickVehicleMod.SelectedRating;
objMod.Parent = objWeapon;
objWeapon.WeaponMods.Add(objMod);
objNode.Text = objMod.DisplayName;
objNode.ContextMenuStrip = cmsWeaponMod;
treWeapons.SelectedNode.Nodes.Add(objNode);
treWeapons.SelectedNode.Expand();
UpdateCharacterInfo();
RefreshSelectedWeapon();
if (frmPickVehicleMod.AddAgain)
tsWeaponAddModification_Click(sender, e);
}
示例5: FindVehicleWeaponMod
/// <summary>
/// Locate a Weapon Mod within the character's Vehicles.
/// </summary>
/// <param name="strGuid">InternalId of the Weapon Accessory to find.</param>
/// <param name="lstVehicles">List of Vehicles to search.</param>
public WeaponMod FindVehicleWeaponMod(string strGuid, List<Vehicle> lstVehicles)
{
WeaponMod objReturn = new WeaponMod(_objCharacter);
foreach (Vehicle objVehicle in lstVehicles)
{
objReturn = FindWeaponMod(strGuid, objVehicle.Weapons);
if (objReturn != null)
return objReturn;
foreach (VehicleMod objMod in objVehicle.Mods)
{
objReturn = FindWeaponMod(strGuid, objMod.Weapons);
if (objReturn != null)
return objReturn;
}
}
return null;
}
示例6: tsWeaponSell_Click
private void tsWeaponSell_Click(object sender, EventArgs e)
{
// Delete the selected Weapon.
try
{
if (treWeapons.SelectedNode.Level == 1)
{
Weapon objWeapon = new Weapon(_objCharacter);
// Locate the Weapon that is selected in the tree.
foreach (Weapon objCharacterWeapon in _objCharacter.Weapons)
{
if (objCharacterWeapon.InternalId == treWeapons.SelectedNode.Tag.ToString())
{
objWeapon = objCharacterWeapon;
break;
}
}
// Cyberweapons cannot be removed through here and must be done by removing the piece of Cyberware.
if (objWeapon.Cyberware)
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_CannotRemoveCyberweapon"), LanguageManager.Instance.GetString("MessageTitle_CannotRemoveCyberweapon"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (objWeapon.Category == "Gear")
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_CannotRemoveGearWeapon"), LanguageManager.Instance.GetString("MessageTitle_CannotRemoveGearWeapon"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (objWeapon.Category.StartsWith("Quality"))
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_CannotRemoveQualityWeapon"), LanguageManager.Instance.GetString("MessageTitle_CannotRemoveQualityWeapon"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
frmSellItem frmSell = new frmSellItem();
frmSell.ShowDialog(this);
if (frmSell.DialogResult == DialogResult.Cancel)
return;
// Create the Expense Log Entry for the sale.
int intAmount = Convert.ToInt32(Convert.ToDouble(objWeapon.TotalCost, GlobalOptions.Instance.CultureInfo) * frmSell.SellPercent);
ExpenseLogEntry objExpense = new ExpenseLogEntry();
objExpense.Create(intAmount, LanguageManager.Instance.GetString("String_ExpenseSoldWeapon") + " " + objWeapon.DisplayNameShort, ExpenseType.Nuyen, DateTime.Now);
_objCharacter.ExpenseEntries.Add(objExpense);
_objCharacter.Nuyen += intAmount;
_objCharacter.Weapons.Remove(objWeapon);
treWeapons.SelectedNode.Remove();
}
else if (treWeapons.SelectedNode.Level > 1)
{
Weapon objWeapon = new Weapon(_objCharacter);
// Locate the Weapon that is selected in the tree.
foreach (Weapon objCharacterWeapon in _objCharacter.Weapons)
{
if (objCharacterWeapon.InternalId == treWeapons.SelectedNode.Parent.Tag.ToString())
{
objWeapon = objCharacterWeapon;
break;
}
}
WeaponAccessory objAccessory = new WeaponAccessory(_objCharacter);
// Locate the Accessory that is selected in the tree.
foreach (WeaponAccessory objCharacterAccessory in objWeapon.WeaponAccessories)
{
if (objCharacterAccessory.InternalId == treWeapons.SelectedNode.Tag.ToString())
{
objAccessory = objCharacterAccessory;
break;
}
}
if (objAccessory.Name != "")
{
frmSellItem frmSell = new frmSellItem();
frmSell.ShowDialog(this);
if (frmSell.DialogResult == DialogResult.Cancel)
return;
// Record the Weapon's original cost.
int intOriginal = objWeapon.TotalCost;
objWeapon.WeaponAccessories.Remove(objAccessory);
treWeapons.SelectedNode.Remove();
int intAmount = Convert.ToInt32(Convert.ToDouble(intOriginal - objWeapon.TotalCost, GlobalOptions.Instance.CultureInfo) * frmSell.SellPercent);
ExpenseLogEntry objExpense = new ExpenseLogEntry();
objExpense.Create(intAmount, LanguageManager.Instance.GetString("String_ExpenseSoldWeaponAccessory") + " " + objAccessory.DisplayNameShort, ExpenseType.Nuyen, DateTime.Now);
_objCharacter.ExpenseEntries.Add(objExpense);
_objCharacter.Nuyen += intAmount;
}
WeaponMod objMod = new WeaponMod(_objCharacter);
// Locate the Mod that is selected in the tree.
foreach (WeaponMod objCharacterMod in objWeapon.WeaponMods)
{
//.........这里部分代码省略.........
示例7: tsWeaponAddModification_Click
private void tsWeaponAddModification_Click(object sender, EventArgs e)
{
// Make sure a parent item is selected, then open the Select Accessory window.
try
{
if (treWeapons.SelectedNode.Level == 0)
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_SelectWeaponMod"), LanguageManager.Instance.GetString("MessageTitle_SelectWeapon"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
catch
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_SelectWeaponMod"), LanguageManager.Instance.GetString("MessageTitle_SelectWeapon"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
// Locate the Weapon that is selected in the Tree.
Weapon objWeapon = _objFunctions.FindWeapon(treWeapons.SelectedNode.Tag.ToString(), _objCharacter.Weapons);
frmSelectVehicleMod frmPickVehicleMod = new frmSelectVehicleMod(_objCharacter, true);
// Make sure the Weapon allows Modifications to be added to it.
// Open the Weapons XML file and locate the selected Weapon.
XmlDocument objXmlDocument = XmlManager.Instance.Load("weapons.xml");
XmlNode objXmlWeapon = objXmlDocument.SelectSingleNode("/chummer/weapons/weapon[name = \"" + objWeapon.Name + "\"]");
if (objXmlWeapon == null)
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_CannotModifyWeaponMod"), LanguageManager.Instance.GetString("MessageTitle_CannotModifyWeapon"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (objXmlWeapon["allowmod"] != null)
{
if (objXmlWeapon["allowmod"].InnerText == "false")
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_CannotModifyWeaponMod"), LanguageManager.Instance.GetString("MessageTitle_CannotModifyWeapon"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
// Set the Weapon properties for the window.
frmPickVehicleMod.WeaponCost = objWeapon.Cost;
frmPickVehicleMod.TotalWeaponCost = objWeapon.TotalCost;
frmPickVehicleMod.ModMultiplier = objWeapon.ModMultiplier;
frmPickVehicleMod.InputFile = "weapons";
frmPickVehicleMod.ShowDialog(this);
// Make sure the dialogue window was not canceled.
if (frmPickVehicleMod.DialogResult == DialogResult.Cancel)
return;
// Locate the selected piece.
XmlNode objXmlMod = objXmlDocument.SelectSingleNode("/chummer/mods/mod[name = \"" + frmPickVehicleMod.SelectedMod + "\"]");
TreeNode objNode = new TreeNode();
WeaponMod objMod = new WeaponMod(_objCharacter);
objMod.Create(objXmlMod, objNode);
objMod.Rating = frmPickVehicleMod.SelectedRating;
objMod.Parent = objWeapon;
// Do not allow the user to add a new Weapon Mod if the Weapon's Capacity has been reached.
if (_objOptions.EnforceCapacity && objWeapon.SlotsRemaining - objMod.Slots < 0)
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_CapacityReached"), LanguageManager.Instance.GetString("MessageTitle_CapacityReached"), MessageBoxButtons.OK, MessageBoxIcon.Information);
if (frmPickVehicleMod.AddAgain)
tsWeaponAddModification_Click(sender, e);
return;
}
// Check the item's Cost and make sure the character can afford it.
int intOriginalCost = objWeapon.TotalCost;
objWeapon.WeaponMods.Add(objMod);
int intCost = objWeapon.TotalCost - intOriginalCost;
// Apply a markup if applicable.
if (frmPickVehicleMod.Markup != 0)
{
double dblCost = Convert.ToDouble(intCost, GlobalOptions.Instance.CultureInfo);
dblCost *= 1 + (Convert.ToDouble(frmPickVehicleMod.Markup, GlobalOptions.Instance.CultureInfo) / 100.0);
intCost = Convert.ToInt32(dblCost);
}
// Multiply the cost if applicable.
if (objMod.TotalAvail.EndsWith(LanguageManager.Instance.GetString("String_AvailRestricted")) && _objOptions.MultiplyRestrictedCost)
intCost *= _objOptions.RestrictedCostMultiplier;
if (objMod.TotalAvail.EndsWith(LanguageManager.Instance.GetString("String_AvailForbidden")) && _objOptions.MultiplyForbiddenCost)
intCost *= _objOptions.ForbiddenCostMultiplier;
if (!frmPickVehicleMod.FreeCost)
{
if (intCost > _objCharacter.Nuyen)
{
objWeapon.WeaponMods.Remove(objMod);
MessageBox.Show(LanguageManager.Instance.GetString("Message_NotEnoughNuyen"), LanguageManager.Instance.GetString("MessageTitle_NotEnoughNuyen"), MessageBoxButtons.OK, MessageBoxIcon.Information);
if (frmPickVehicleMod.AddAgain)
tsWeaponAddModification_Click(sender, e);
//.........这里部分代码省略.........
示例8: TestWeapons
//.........这里部分代码省略.........
{
txtOutput.Text += objXmlGear["name"].InnerText + " failed TotalReach\n";
}
try
{
string objValue = objTemp.CalculatedAmmo();
}
catch
{
txtOutput.Text += objXmlGear["name"].InnerText + " failed CalculatedAmmo\n";
}
try
{
string objValue = objTemp.CalculatedConcealability();
}
catch
{
txtOutput.Text += objXmlGear["name"].InnerText + " failed CalculatedConcealability\n";
}
try
{
string objValue = objTemp.CalculatedDamage();
}
catch
{
txtOutput.Text += objXmlGear["name"].InnerText + " failed CalculatedDamage\n";
}
}
catch
{
txtOutput.Text += objXmlGear["name"].InnerText + " general failure\n";
}
}
// Weapon Accessories.
foreach (XmlNode objXmlGear in objXmlDocument.SelectNodes("/chummer/accessories/accessory"))
{
pgbProgress.Value++;
Application.DoEvents();
try
{
TreeNode objTempNode = new TreeNode();
WeaponAccessory objTemp = new WeaponAccessory(objCharacter);
objTemp.Create(objXmlGear, objTempNode, "");
try
{
int objValue = objTemp.TotalCost;
}
catch
{
txtOutput.Text += objXmlGear["name"].InnerText + " failed CalculatedCost\n";
}
try
{
string objValue = objTemp.TotalAvail;
}
catch
{
txtOutput.Text += objXmlGear["name"].InnerText + " failed TotalAvail\n";
}
}
catch
{
txtOutput.Text += objXmlGear["name"].InnerText + " general failure\n";
}
}
// Weapon Mods.
foreach (XmlNode objXmlGear in objXmlDocument.SelectNodes("/chummer/mods/mod"))
{
pgbProgress.Value++;
Application.DoEvents();
try
{
TreeNode objTempNode = new TreeNode();
WeaponMod objTemp = new WeaponMod(objCharacter);
objTemp.Create(objXmlGear, objTempNode);
try
{
int objValue = objTemp.TotalCost;
}
catch
{
txtOutput.Text += objXmlGear["name"].InnerText + " failed CalculatedCost\n";
}
try
{
string objValue = objTemp.TotalAvail;
}
catch
{
txtOutput.Text += objXmlGear["name"].InnerText + " failed TotalAvail\n";
}
}
catch
{
txtOutput.Text += objXmlGear["name"].InnerText + " general failure\n";
}
}
}
示例9: UpdateGearInfo
/// <summary>
/// Update the Mod's information based on the Mod selected and current Rating.
/// </summary>
private void UpdateGearInfo()
{
if (lstMod.Text != "")
{
// Retireve the information for the selected Mod.
XmlNode objXmlMod = _objXmlDocument.SelectSingleNode("/chummer/mods/mod[id = \"" + lstMod.SelectedValue + "\"]");
string strAvail = "";
string strModBook = "";
string strModPage = "";
int intItemCost = 0;
int intSlots = 0;
if (_objMode == Mode.Vehicle)
{
TreeNode objTreeNode = new TreeNode();
VehicleMod objVehicleMod = new VehicleMod(_objCharacter);
objVehicleMod.Create(objXmlMod, objTreeNode, Convert.ToInt32(nudRating.Value));
Vehicle objVehicle = new Vehicle(_objCharacter);
objVehicleMod.Parent = objVehicle;
if (_intVehicleCost != 0)
objVehicle.Cost = _intVehicleCost.ToString();
string strAccel = _intAccelWalking.ToString() + "/" + _intAccelRunning.ToString();
objVehicle.Accel = strAccel;
if (_intBody != 0)
objVehicle.Body = _intBody;
if (_intSpeed != 0)
objVehicle.Speed = _intSpeed;
strAvail = objVehicleMod.TotalAvail;
intItemCost = objVehicleMod.TotalCost;
intSlots = objVehicleMod.CalculatedSlots;
strModBook = objVehicleMod.Source;
strModPage = objVehicleMod.Page;
}
else if (_objMode == Mode.WeaponMod)
{
TreeNode objTreeNode = new TreeNode();
WeaponMod objWeaponMod = new WeaponMod(_objCharacter);
objWeaponMod.Create(objXmlMod, objTreeNode);
if (_intWeaponCost != 0)
{
Weapon objWeapon = new Weapon(_objCharacter);
objWeapon.Cost = _intWeaponCost;
objWeaponMod.Parent = objWeapon;
}
strAvail = objWeaponMod.TotalAvail;
intItemCost = objWeaponMod.TotalCost;
intSlots = objWeaponMod.Slots;
strModBook = objWeaponMod.Source;
strModPage = objWeaponMod.Page;
}
lblAvail.Text = strAvail;
// Cost.
if (objXmlMod["cost"].InnerText.StartsWith("Variable"))
{
int intMin = 0;
int intMax = 0;
string strCost = objXmlMod["cost"].InnerText.Replace("Variable(", string.Empty).Replace(")", string.Empty);
if (strCost.Contains("-"))
{
string[] strValues = strCost.Split('-');
intMin = Convert.ToInt32(strValues[0]);
intMax = Convert.ToInt32(strValues[1]);
}
else
intMin = Convert.ToInt32(strCost.Replace("+", string.Empty));
if (intMax == 0)
{
intMax = 1000000;
lblCost.Text = String.Format("{0:###,###,##0¥+}", intMin);
}
else
lblCost.Text = String.Format("{0:###,###,##0}", intMin) + "-" + String.Format("{0:###,###,##0¥}", intMax);
intItemCost = intMin;
}
else
{
int intCost = Convert.ToInt32(Convert.ToDouble(intItemCost, GlobalOptions.Instance.CultureInfo));
intCost *= _intModMultiplier;
// Apply any markup.
double dblCost = Convert.ToDouble(intCost, GlobalOptions.Instance.CultureInfo);
dblCost *= 1 + (Convert.ToDouble(nudMarkup.Value, GlobalOptions.Instance.CultureInfo) / 100.0);
intCost = Convert.ToInt32(dblCost);
lblCost.Text = String.Format("{0:###,###,##0¥}", intCost);
intItemCost = intCost;
}
//.........这里部分代码省略.........
示例10: CreateAllWeaponModsTest
public void CreateAllWeaponModsTest()
{
// Create a new Human character.
Character objCharacter = new Character();
objCharacter.LoadMetatype(Guid.Parse("e28e7075-f635-4c02-937c-e4fc61c51602"));
TreeNode objNode = new TreeNode();
XmlDocument objXmlDocument = XmlManager.Instance.Load("weapons.xml");
foreach (XmlNode objXmlNode in objXmlDocument.SelectNodes("/chummer/mods/mod"))
{
WeaponMod objMod = new WeaponMod(objCharacter);
objMod.Create(objXmlNode, objNode);
}
}