本文整理汇总了C#中System.OperatingSystem.Create方法的典型用法代码示例。如果您正苦于以下问题:C# OperatingSystem.Create方法的具体用法?C# OperatingSystem.Create怎么用?C# OperatingSystem.Create使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.OperatingSystem
的用法示例。
在下文中一共展示了OperatingSystem.Create方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddPACKSGear
/// <summary>
/// Add a piece of Gear that was found in a PACKS Kit.
/// </summary>
/// <param name="objXmlGearDocument">XmlDocument that contains the Gear.</param>
/// <param name="objXmlGear">XmlNode of the Gear to add.</param>
/// <param name="objParent">TreeNode to attach the created items to.</param>
/// <param name="objParentObject">Object to associate the newly-created items with.</param>
/// <param name="cmsContextMenu">ContextMenuStrip to assign to the TreeNodes created.</param>
/// <param name="blnCreateChildren">Whether or not the default plugins for the Gear should be created.</param>
private void AddPACKSGear(XmlDocument objXmlGearDocument, XmlNode objXmlGear, TreeNode objParent, Object objParentObject, ContextMenuStrip cmsContextMenu, bool blnCreateChildren)
{
int intRating = 0;
if (objXmlGear["rating"] != null)
intRating = Convert.ToInt32(objXmlGear["rating"].InnerText);
int intQty = 1;
if (objXmlGear["qty"] != null)
intQty = Convert.ToInt32(objXmlGear["qty"].InnerText);
XmlNode objXmlGearNode;
objXmlGearNode = objXmlGearDocument.SelectSingleNode("/chummer/gears/gear[id = \"" + objXmlGear["id"].InnerText + "\"]");
List<Weapon> objWeapons = new List<Weapon>();
List<TreeNode> objWeaponNodes = new List<TreeNode>();
TreeNode objNode = new TreeNode();
string strForceValue = "";
if (objXmlGear["name"].Attributes["select"] != null)
strForceValue = objXmlGear["name"].Attributes["select"].InnerText;
Gear objNewGear = new Gear(_objCharacter);
switch (objXmlGearNode["category"].InnerText)
{
case "Commlink":
case "Commlink Upgrade":
Commlink objCommlink = new Commlink(_objCharacter);
objCommlink.Create(objXmlGearNode, _objCharacter, objNode, intRating, true, blnCreateChildren);
objCommlink.Quantity = intQty;
objNewGear = objCommlink;
break;
case "Commlink Operating System":
case "Commlink Operating System Upgrade":
OperatingSystem objOperatingSystem = new OperatingSystem(_objCharacter);
objOperatingSystem.Create(objXmlGearNode, _objCharacter, objNode, intRating, true, blnCreateChildren);
objOperatingSystem.Quantity = intQty;
objNewGear = objOperatingSystem;
break;
default:
Gear objGear = new Gear(_objCharacter);
objGear.Create(objXmlGearNode, _objCharacter, objNode, intRating, objWeapons, objWeaponNodes, strForceValue, false, false, true, blnCreateChildren);
objGear.Quantity = intQty;
objNode.Text = objGear.DisplayName;
objNewGear = objGear;
break;
}
if (objParentObject.GetType() == typeof(Character))
((Character)objParentObject).Gear.Add(objNewGear);
if (objParentObject.GetType() == typeof(Gear) || objParentObject.GetType() == typeof(Commlink) || objParentObject.GetType() == typeof(OperatingSystem))
{
((Gear)objParentObject).Gears.Add(objNewGear);
objNewGear.Parent = (Gear)objParentObject;
}
if (objParentObject.GetType() == typeof(Armor))
((Armor)objParentObject).Gears.Add(objNewGear);
if (objParentObject.GetType() == typeof(WeaponAccessory))
((WeaponAccessory)objParentObject).Gears.Add(objNewGear);
if (objParentObject.GetType() == typeof(Cyberware))
((Cyberware)objParentObject).Gears.Add(objNewGear);
// Look for child components.
if (objXmlGear["gears"] != null)
{
foreach (XmlNode objXmlChild in objXmlGear.SelectNodes("gears/gear"))
{
AddPACKSGear(objXmlGearDocument, objXmlChild, objNode, objNewGear, cmsContextMenu, blnCreateChildren);
}
}
objParent.Nodes.Add(objNode);
objParent.Expand();
objNode.ContextMenuStrip = cmsContextMenu;
objNode.Text = objNewGear.DisplayName;
// Add any Weapons created by the Gear.
foreach (Weapon objWeapon in objWeapons)
_objCharacter.Weapons.Add(objWeapon);
foreach (TreeNode objWeaponNode in objWeaponNodes)
{
objWeaponNode.ContextMenuStrip = cmsWeapon;
treWeapons.Nodes[0].Nodes.Add(objWeaponNode);
treWeapons.Nodes[0].Expand();
}
}
示例2: tsWeaponAccessoryAddGear_Click
private void tsWeaponAccessoryAddGear_Click(object sender, EventArgs e)
{
WeaponAccessory objAccessory = (WeaponAccessory)_objFunctions.FindEquipment(treWeapons.SelectedNode.Tag.ToString(), _objCharacter.Weapons, typeof(WeaponAccessory));
// Make sure the Weapon Accessory is allowed to accept Gear.
if (objAccessory.AllowGear == null)
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_WeaponGear"), LanguageManager.Instance.GetString("MessageTitle_CyberwareGear"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
frmSelectGear frmPickGear = new frmSelectGear(_objCharacter, false);
string strCategories = "";
foreach (XmlNode objXmlCategory in objAccessory.AllowGear)
strCategories += objXmlCategory.InnerText + ",";
frmPickGear.AllowedCategories = strCategories;
frmPickGear.ShowDialog(this);
if (frmPickGear.DialogResult == DialogResult.Cancel)
return;
TreeNode objNode = new TreeNode();
// Open the Gear XML file and locate the selected piece.
XmlDocument objXmlDocument = XmlManager.Instance.Load("gear.xml");
XmlNode objXmlGear = objXmlDocument.SelectSingleNode("/chummer/gears/gear[id = \"" + frmPickGear.SelectedGear + "\"]");
// Create the new piece of Gear.
List<Weapon> objWeapons = new List<Weapon>();
List<TreeNode> objWeaponNodes = new List<TreeNode>();
Gear objNewGear = new Gear(_objCharacter);
switch (frmPickGear.SelectedCategory)
{
case "Commlink":
case "Commlink Upgrade":
Commlink objCommlink = new Commlink(_objCharacter);
objCommlink.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating);
objCommlink.Quantity = frmPickGear.SelectedQty;
try
{
_blnSkipRefresh = true;
nudGearQty.Increment = objCommlink.CostFor;
//nudGearQty.Minimum = nudGearQty.Increment;
_blnSkipRefresh = false;
}
catch
{
}
objNode.Text = objCommlink.DisplayName;
objNewGear = objCommlink;
break;
case "Commlink Operating System":
case "Commlink Operating System Upgrade":
OperatingSystem objOperatingSystem = new OperatingSystem(_objCharacter);
objOperatingSystem.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating);
objOperatingSystem.Quantity = frmPickGear.SelectedQty;
try
{
_blnSkipRefresh = true;
nudGearQty.Increment = objOperatingSystem.CostFor;
//nudGearQty.Minimum = nudGearQty.Increment;
_blnSkipRefresh = false;
}
catch
{
}
objNode.Text = objOperatingSystem.DisplayName;
objNewGear = objOperatingSystem;
break;
default:
Gear objGear = new Gear(_objCharacter);
objGear.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating, objWeapons, objWeaponNodes, "", frmPickGear.Hacked, frmPickGear.InherentProgram, true, true, frmPickGear.Aerodynamic);
objGear.Quantity = frmPickGear.SelectedQty;
try
{
_blnSkipRefresh = true;
nudGearQty.Increment = objGear.CostFor;
//nudGearQty.Minimum = nudGearQty.Increment;
_blnSkipRefresh = false;
}
catch
{
}
objNode.Text = objGear.DisplayName;
objNewGear = objGear;
break;
}
if (objNewGear.InternalId == Guid.Empty.ToString())
return;
// Reduce the cost for Do It Yourself components.
if (frmPickGear.DoItYourself)
objNewGear.Cost = (Convert.ToDouble(objNewGear.Cost, GlobalOptions.Instance.CultureInfo) * 0.5).ToString();
// Reduce the cost to 10% for Hacked programs.
if (frmPickGear.Hacked)
{
//.........这里部分代码省略.........
示例3: tsWeaponAccessoryGearMenuAddAsPlugin_Click
private void tsWeaponAccessoryGearMenuAddAsPlugin_Click(object sender, EventArgs e)
{
// Locate the Vehicle Sensor Gear.
bool blnFound = false;
WeaponAccessory objFoundAccessory = new WeaponAccessory(_objCharacter);
Gear objSensor = (Gear)_objFunctions.FindEquipment(treWeapons.SelectedNode.Tag.ToString(), _objCharacter.Weapons, typeof(Gear));
if (objSensor != null)
blnFound = true;
if (objSensor.Parent != null)
objFoundAccessory = (WeaponAccessory)objSensor.Parent;
// Make sure the Gear was found.
if (!blnFound)
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_ModifyVehicleGear"), LanguageManager.Instance.GetString("MessageTitle_SelectGear"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
XmlDocument objXmlDocument = XmlManager.Instance.Load("gear.xml");
XmlNode objXmlGear = objXmlDocument.SelectSingleNode("/chummer/gears/gear[id = \"" + objSensor.ExternalId + "\"]");
frmSelectGear frmPickGear = new frmSelectGear(_objCharacter);
//frmPickGear.ShowNegativeCapacityOnly = true;
if (objXmlGear["addoncategory"] != null)
{
string strCategories = "";
foreach (XmlNode objXmlCategory in objXmlGear.SelectNodes("addoncategory"))
strCategories += objXmlCategory.InnerText + ",";
// Remove the trailing comma.
strCategories = strCategories.Substring(0, strCategories.Length - 1);
frmPickGear.AddCategory(strCategories);
}
if (frmPickGear.AllowedCategories != "")
frmPickGear.AllowedCategories += objSensor.Category + ",";
frmPickGear.ShowDialog(this);
if (frmPickGear.DialogResult == DialogResult.Cancel)
return;
// Open the Gear XML file and locate the selected piece.
objXmlGear = objXmlDocument.SelectSingleNode("/chummer/gears/gear[id = \"" + frmPickGear.SelectedGear + "\"]");
// Create the new piece of Gear.
List<Weapon> objWeapons = new List<Weapon>();
List<TreeNode> objWeaponNodes = new List<TreeNode>();
TreeNode objNode = new TreeNode();
Gear objGear = new Gear(_objCharacter);
switch (frmPickGear.SelectedCategory)
{
case "Commlink":
case "Commlink Upgrade":
Commlink objCommlink = new Commlink(_objCharacter);
objCommlink.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating);
objCommlink.Quantity = frmPickGear.SelectedQty;
objNode.Text = objCommlink.DisplayName;
objGear = objCommlink;
break;
case "Commlink Operating System":
case "Commlink Operating System Upgrade":
OperatingSystem objOperatingSystem = new OperatingSystem(_objCharacter);
objOperatingSystem.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating);
objOperatingSystem.Quantity = frmPickGear.SelectedQty;
objNode.Text = objOperatingSystem.DisplayName;
objGear = objOperatingSystem;
break;
default:
Gear objNewGear = new Gear(_objCharacter);
objNewGear.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating, objWeapons, objWeaponNodes, "", frmPickGear.Hacked, frmPickGear.InherentProgram, true, true, frmPickGear.Aerodynamic);
objNewGear.Quantity = frmPickGear.SelectedQty;
objNode.Text = objNewGear.DisplayName;
objGear = objNewGear;
break;
}
if (objGear.InternalId == Guid.Empty.ToString())
return;
// Reduce the cost for Do It Yourself components.
if (frmPickGear.DoItYourself)
objGear.Cost = (Convert.ToDouble(objGear.Cost, GlobalOptions.Instance.CultureInfo) * 0.5).ToString();
// Reduce the cost to 10% for Hacked programs.
if (frmPickGear.Hacked)
{
if (objGear.Cost != "")
objGear.Cost = "(" + objGear.Cost + ") * 0.1";
if (objGear.Cost3 != "")
objGear.Cost3 = "(" + objGear.Cost3 + ") * 0.1";
if (objGear.Cost6 != "")
objGear.Cost6 = "(" + objGear.Cost6 + ") * 0.1";
if (objGear.Cost10 != "")
objGear.Cost10 = "(" + objGear.Cost10 + ") * 0.1";
//.........这里部分代码省略.........
示例4: PickGear
/// <summary>
/// Select a piece of Gear to be added to the character.
/// </summary>
private bool PickGear()
{
bool blnNullParent = false;
Gear objSelectedGear = (Gear)_objFunctions.FindEquipment(treGear.SelectedNode.Tag.ToString(), _objCharacter.Gear, typeof(Gear));
if (objSelectedGear == null)
{
objSelectedGear = new Gear(_objCharacter);
blnNullParent = true;
}
// Open the Gear XML file and locate the selected Gear.
XmlDocument objXmlDocument = XmlManager.Instance.Load("gear.xml");
XmlNode objXmlGear = objXmlDocument.SelectSingleNode("/chummer/gears/gear[id = \"" + objSelectedGear.ExternalId + "\"]");
bool blnFakeCareerMode = false;
if (_objCharacter.Metatype == "A.I." || _objCharacter.MetatypeCategory == "Technocritters" || _objCharacter.MetatypeCategory == "Protosapients")
blnFakeCareerMode = true;
frmSelectGear frmPickGear = new frmSelectGear(_objCharacter, blnFakeCareerMode, objSelectedGear.ChildAvailModifier, objSelectedGear.ChildCostMultiplier);
try
{
if (treGear.SelectedNode.Level > 0)
{
if (objXmlGear["addoncategory"] != null)
{
string strCategories = "";
foreach (XmlNode objXmlCategory in objXmlGear.SelectNodes("addoncategory"))
strCategories += objXmlCategory.InnerText + ",";
// Remove the trailing comma.
strCategories = strCategories.Substring(0, strCategories.Length - 1);
frmPickGear.AddCategory(strCategories);
}
if (frmPickGear.AllowedCategories != "")
frmPickGear.AllowedCategories += objSelectedGear.Category + ",";
// If the Gear has a Capacity with no brackets (meaning it grants Capacity), show only Subsystems (those that conume Capacity).
if (!objSelectedGear.Capacity.Contains('['))
frmPickGear.MaximumCapacity = objSelectedGear.CapacityRemaining;
if (objSelectedGear.Category == "Commlink")
{
Commlink objCommlink = (Commlink)objSelectedGear;
frmPickGear.CommlinkResponse = objCommlink.Response;
frmPickGear.CommlinkSignal = objCommlink.Signal;
frmPickGear.CommlinkFirewall = objCommlink.Firewall;
frmPickGear.CommlinkSystem = objCommlink.System;
}
if (objSelectedGear.Category == "Commlink Operating System")
{
OperatingSystem objOS = (OperatingSystem)objSelectedGear;
frmPickGear.CommlinkFirewall = objOS.Firewall;
frmPickGear.CommlinkSystem = objOS.System;
}
}
}
catch
{
}
frmPickGear.ShowDialog(this);
// Make sure the dialogue window was not canceled.
if (frmPickGear.DialogResult == DialogResult.Cancel)
return false;
TreeNode objNode = new TreeNode();
// Open the Cyberware XML file and locate the selected piece.
objXmlDocument = XmlManager.Instance.Load("gear.xml");
objXmlGear = objXmlDocument.SelectSingleNode("/chummer/gears/gear[id = \"" + frmPickGear.SelectedGear + "\"]");
// Create the new piece of Gear.
List<Weapon> objWeapons = new List<Weapon>();
List<TreeNode> objWeaponNodes = new List<TreeNode>();
Gear objNewGear = new Gear(_objCharacter);
switch (frmPickGear.SelectedCategory)
{
case "Commlink":
case "Commlink Upgrade":
Commlink objCommlink = new Commlink(_objCharacter);
objCommlink.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating);
objCommlink.Quantity = frmPickGear.SelectedQty;
try
{
_blnSkipRefresh = true;
nudGearQty.Increment = objCommlink.CostFor;
//nudGearQty.Minimum = nudGearQty.Increment;
_blnSkipRefresh = false;
}
catch
{
}
objNode.Text = objCommlink.DisplayName;
// If a Commlink has just been added, see if the character already has one. If not, make it the active Commlink.
if (_objFunctions.FindCharacterCommlinks(_objCharacter.Gear).Count == 0 && frmPickGear.SelectedCategory == "Commlink")
//.........这里部分代码省略.........
示例5: tsVehicleAddGear_Click
private void tsVehicleAddGear_Click(object sender, EventArgs e)
{
// Make sure a parent items is selected, then open the Select Gear window.
try
{
if (treVehicles.SelectedNode.Level == 0)
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_SelectGearVehicle"), LanguageManager.Instance.GetString("MessageTitle_SelectGearVehicle"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
catch
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_SelectGearVehicle"), LanguageManager.Instance.GetString("MessageTitle_SelectGearVehicle"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (treVehicles.SelectedNode.Level > 1)
treVehicles.SelectedNode = treVehicles.SelectedNode.Parent;
// Locate the selected Vehicle.
Vehicle objSelectedVehicle = (Vehicle)_objFunctions.FindEquipment(treVehicles.SelectedNode.Tag.ToString(), _objCharacter.Vehicles, typeof(Vehicle));
frmSelectGear frmPickGear = new frmSelectGear(_objCharacter);
frmPickGear.ShowPositiveCapacityOnly = true;
frmPickGear.ShowDialog(this);
if (frmPickGear.DialogResult == DialogResult.Cancel)
return;
// Open the Gear XML file and locate the selected piece.
XmlDocument objXmlDocument = XmlManager.Instance.Load("gear.xml");
XmlNode objXmlGear = objXmlDocument.SelectSingleNode("/chummer/gears/gear[id = \"" + frmPickGear.SelectedGear + "\"]");
// Create the new piece of Gear.
List<Weapon> objWeapons = new List<Weapon>();
List<TreeNode> objWeaponNodes = new List<TreeNode>();
TreeNode objNode = new TreeNode();
Gear objGear = new Gear(_objCharacter);
switch (frmPickGear.SelectedCategory)
{
case "Commlink":
case "Commlink Upgrade":
Commlink objCommlink = new Commlink(_objCharacter);
objCommlink.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating, false);
objCommlink.Quantity = frmPickGear.SelectedQty;
objGear = objCommlink;
break;
case "Commlink Operating System":
case "Commlink Operating System Upgrade":
OperatingSystem objOperatingSystem = new OperatingSystem(_objCharacter);
objOperatingSystem.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating, false);
objOperatingSystem.Quantity = frmPickGear.SelectedQty;
objGear = objOperatingSystem;
break;
default:
Gear objNewGear = new Gear(_objCharacter);
objNewGear.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating, objWeapons, objWeaponNodes, "", frmPickGear.Hacked, frmPickGear.InherentProgram, false, true, frmPickGear.Aerodynamic);
objNewGear.Quantity = frmPickGear.SelectedQty;
objGear = objNewGear;
break;
}
if (objGear.InternalId == Guid.Empty.ToString())
return;
// Reduce the cost for Do It Yourself components.
if (frmPickGear.DoItYourself)
objGear.Cost = (Convert.ToDouble(objGear.Cost, GlobalOptions.Instance.CultureInfo) * 0.5).ToString();
// Reduce the cost to 10% for Hacked programs.
if (frmPickGear.Hacked)
{
if (objGear.Cost != "")
objGear.Cost = "(" + objGear.Cost + ") * 0.1";
if (objGear.Cost3 != "")
objGear.Cost3 = "(" + objGear.Cost3 + ") * 0.1";
if (objGear.Cost6 != "")
objGear.Cost6 = "(" + objGear.Cost6 + ") * 0.1";
if (objGear.Cost10 != "")
objGear.Cost10 = "(" + objGear.Cost10 + ") * 0.1";
if (objGear.Extra == "")
objGear.Extra = LanguageManager.Instance.GetString("Label_SelectGear_Hacked");
else
objGear.Extra += ", " + LanguageManager.Instance.GetString("Label_SelectGear_Hacked");
}
// If the item was marked as free, change its cost.
if (frmPickGear.FreeCost)
{
objGear.Cost = "0";
objGear.Cost3 = "0";
objGear.Cost6 = "0";
objGear.Cost10 = "0";
}
objGear.Quantity = frmPickGear.SelectedQty;
objNode.Text = objGear.DisplayName;
//.........这里部分代码省略.........
示例6: tsWeaponAccessoryGearMenuAddAsPlugin_Click
private void tsWeaponAccessoryGearMenuAddAsPlugin_Click(object sender, EventArgs e)
{
// Locate the Vehicle Sensor Gear.
bool blnFound = false;
WeaponAccessory objFoundAccessory = new WeaponAccessory(_objCharacter);
Gear objSensor = _objFunctions.FindWeaponGear(treWeapons.SelectedNode.Tag.ToString(), _objCharacter.Weapons, out objFoundAccessory);
if (objSensor != null)
blnFound = true;
// Make sure the Gear was found.
if (!blnFound)
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_ModifyVehicleGear"), LanguageManager.Instance.GetString("MessageTitle_SelectGear"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
XmlDocument objXmlDocument = XmlManager.Instance.Load("gear.xml");
XmlNode objXmlGear = objXmlDocument.SelectSingleNode("/chummer/gears/gear[name = \"" + objSensor.Name + "\" and category = \"" + objSensor.Category + "\"]");
frmSelectGear frmPickGear = new frmSelectGear(_objCharacter, true);
//frmPickGear.ShowNegativeCapacityOnly = true;
if (objXmlGear.InnerXml.Contains("<addoncategory>"))
{
string strCategories = "";
foreach (XmlNode objXmlCategory in objXmlGear.SelectNodes("addoncategory"))
strCategories += objXmlCategory.InnerText + ",";
// Remove the trailing comma.
strCategories = strCategories.Substring(0, strCategories.Length - 1);
frmPickGear.AddCategory(strCategories);
}
if (frmPickGear.AllowedCategories != "")
frmPickGear.AllowedCategories += objSensor.Category + ",";
frmPickGear.ShowDialog(this);
if (frmPickGear.DialogResult == DialogResult.Cancel)
return;
// Open the Gear XML file and locate the selected piece.
objXmlGear = objXmlDocument.SelectSingleNode("/chummer/gears/gear[name = \"" + frmPickGear.SelectedGear + "\" and category = \"" + frmPickGear.SelectedCategory + "\"]");
// Create the new piece of Gear.
List<Weapon> objWeapons = new List<Weapon>();
List<TreeNode> objWeaponNodes = new List<TreeNode>();
TreeNode objNode = new TreeNode();
Gear objGear = new Gear(_objCharacter);
switch (frmPickGear.SelectedCategory)
{
case "Commlink":
case "Commlink Upgrade":
Commlink objCommlink = new Commlink(_objCharacter);
objCommlink.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating);
objCommlink.Quantity = frmPickGear.SelectedQty;
objNode.Text = objCommlink.DisplayName;
objGear = objCommlink;
break;
case "Commlink Operating System":
case "Commlink Operating System Upgrade":
OperatingSystem objOperatingSystem = new OperatingSystem(_objCharacter);
objOperatingSystem.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating);
objOperatingSystem.Quantity = frmPickGear.SelectedQty;
objNode.Text = objOperatingSystem.DisplayName;
objGear = objOperatingSystem;
break;
default:
Gear objNewGear = new Gear(_objCharacter);
objNewGear.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating, objWeapons, objWeaponNodes, "", frmPickGear.Hacked, frmPickGear.InherentProgram, true, true, frmPickGear.Aerodynamic);
objNewGear.Quantity = frmPickGear.SelectedQty;
objNode.Text = objNewGear.DisplayName;
objGear = objNewGear;
break;
}
if (objGear.InternalId == Guid.Empty.ToString())
return;
// Reduce the cost for Do It Yourself components.
if (frmPickGear.DoItYourself)
objGear.Cost = (Convert.ToDouble(objGear.Cost, GlobalOptions.Instance.CultureInfo) * 0.5).ToString();
// Reduce the cost to 10% for Hacked programs.
if (frmPickGear.Hacked)
{
if (objGear.Cost != "")
objGear.Cost = "(" + objGear.Cost + ") * 0.1";
if (objGear.Cost3 != "")
objGear.Cost3 = "(" + objGear.Cost3 + ") * 0.1";
if (objGear.Cost6 != "")
objGear.Cost6 = "(" + objGear.Cost6 + ") * 0.1";
if (objGear.Cost10 != "")
objGear.Cost10 = "(" + objGear.Cost10 + ") * 0.1";
if (objGear.Extra == "")
objGear.Extra = LanguageManager.Instance.GetString("Label_SelectGear_Hacked");
else
//.........这里部分代码省略.........
示例7: PickArmorGear
//.........这里部分代码省略.........
foreach (XmlNode objXmlCategory in objXmlGear.SelectNodes("addoncategory"))
strCategories += objXmlCategory.InnerText + ",";
// Remove the trailing comma.
strCategories = strCategories.Substring(0, strCategories.Length - 1);
frmPickGear.AddCategory(strCategories);
}
}
}
catch
{
}
frmPickGear.ShowDialog(this);
// Make sure the dialogue window was not canceled.
if (frmPickGear.DialogResult == DialogResult.Cancel)
return false;
TreeNode objNode = new TreeNode();
// Open the Cyberware XML file and locate the selected piece.
objXmlDocument = XmlManager.Instance.Load("gear.xml");
objXmlGear = objXmlDocument.SelectSingleNode("/chummer/gears/gear[id = \"" + frmPickGear.SelectedGear + "\"]");
// Create the new piece of Gear.
List<Weapon> objWeapons = new List<Weapon>();
List<TreeNode> objWeaponNodes = new List<TreeNode>();
Gear objNewGear = new Gear(_objCharacter);
switch (frmPickGear.SelectedCategory)
{
case "Commlink":
case "Commlink Upgrade":
Commlink objCommlink = new Commlink(_objCharacter);
objCommlink.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating);
objCommlink.Quantity = frmPickGear.SelectedQty;
try
{
nudGearQty.Increment = objCommlink.CostFor;
//nudGearQty.Minimum = nudGearQty.Increment;
}
catch
{
}
objNewGear = objCommlink;
break;
case "Commlink Operating System":
case "Commlink Operating System Upgrade":
OperatingSystem objOperatingSystem = new OperatingSystem(_objCharacter);
objOperatingSystem.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating);
objOperatingSystem.Quantity = frmPickGear.SelectedQty;
try
{
nudGearQty.Increment = objOperatingSystem.CostFor;
//nudGearQty.Minimum = nudGearQty.Increment;
}
catch
{
}
objNewGear = objOperatingSystem;
break;
default:
Gear objGear = new Gear(_objCharacter);
objGear.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating, objWeapons, objWeaponNodes, "", false, false, true, true, frmPickGear.Aerodynamic);
objGear.Quantity = frmPickGear.SelectedQty;
示例8: tsVehicleAddGear_Click
private void tsVehicleAddGear_Click(object sender, EventArgs e)
{
// Make sure a parent items is selected, then open the Select Gear window.
try
{
if (treVehicles.SelectedNode.Level == 0)
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_SelectGearVehicle"), LanguageManager.Instance.GetString("MessageTitle_SelectGearVehicle"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
catch
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_SelectGearVehicle"), LanguageManager.Instance.GetString("MessageTitle_SelectGearVehicle"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (treVehicles.SelectedNode.Level > 1)
treVehicles.SelectedNode = treVehicles.SelectedNode.Parent;
// Locate the selected Vehicle.
Vehicle objSelectedVehicle = _objFunctions.FindVehicle(treVehicles.SelectedNode.Tag.ToString(), _objCharacter.Vehicles);
frmSelectGear frmPickGear = new frmSelectGear(_objCharacter, true);
frmPickGear.ShowPositiveCapacityOnly = true;
frmPickGear.ShowDialog(this);
if (frmPickGear.DialogResult == DialogResult.Cancel)
return;
// Open the Gear XML file and locate the selected piece.
XmlDocument objXmlDocument = XmlManager.Instance.Load("gear.xml");
XmlNode objXmlGear = objXmlDocument.SelectSingleNode("/chummer/gears/gear[name = \"" + frmPickGear.SelectedGear + "\" and category = \"" + frmPickGear.SelectedCategory + "\"]");
// Create the new piece of Gear.
List<Weapon> objWeapons = new List<Weapon>();
List<TreeNode> objWeaponNodes = new List<TreeNode>();
TreeNode objNode = new TreeNode();
Gear objGear = new Gear(_objCharacter);
switch (frmPickGear.SelectedCategory)
{
case "Commlink":
case "Commlink Upgrade":
Commlink objCommlink = new Commlink(_objCharacter);
objCommlink.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating, false);
objCommlink.Quantity = frmPickGear.SelectedQty;
objGear = objCommlink;
break;
case "Commlink Operating System":
case "Commlink Operating System Upgrade":
OperatingSystem objOperatingSystem = new OperatingSystem(_objCharacter);
objOperatingSystem.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating, false);
objOperatingSystem.Quantity = frmPickGear.SelectedQty;
objGear = objOperatingSystem;
break;
default:
Gear objNewGear = new Gear(_objCharacter);
objNewGear.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating, objWeapons, objWeaponNodes, "", frmPickGear.Hacked, frmPickGear.InherentProgram, false, true, frmPickGear.Aerodynamic);
objNewGear.Quantity = frmPickGear.SelectedQty;
objGear = objNewGear;
break;
}
if (objGear.InternalId == Guid.Empty.ToString())
return;
// Reduce the cost for Do It Yourself components.
if (frmPickGear.DoItYourself)
objGear.Cost = (Convert.ToDouble(objGear.Cost, GlobalOptions.Instance.CultureInfo) * 0.5).ToString();
// Reduce the cost to 10% for Hacked programs.
if (frmPickGear.Hacked)
{
if (objGear.Cost != "")
objGear.Cost = "(" + objGear.Cost + ") * 0.1";
if (objGear.Cost3 != "")
objGear.Cost3 = "(" + objGear.Cost3 + ") * 0.1";
if (objGear.Cost6 != "")
objGear.Cost6 = "(" + objGear.Cost6 + ") * 0.1";
if (objGear.Cost10 != "")
objGear.Cost10 = "(" + objGear.Cost10 + ") * 0.1";
if (objGear.Extra == "")
objGear.Extra = LanguageManager.Instance.GetString("Label_SelectGear_Hacked");
else
objGear.Extra += ", " + LanguageManager.Instance.GetString("Label_SelectGear_Hacked");
}
// If the item was marked as free, change its cost.
if (frmPickGear.FreeCost)
{
objGear.Cost = "0";
objGear.Cost3 = "0";
objGear.Cost6 = "0";
objGear.Cost10 = "0";
}
objGear.Quantity = frmPickGear.SelectedQty;
objNode.Text = objGear.DisplayName;
//.........这里部分代码省略.........
示例9: tsCyberwareAddGear_Click
private void tsCyberwareAddGear_Click(object sender, EventArgs e)
{
// Make sure a parent items is selected, then open the Select Gear window.
try
{
if (treCyberware.SelectedNode.Level == 0)
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_SelectCyberware"), LanguageManager.Instance.GetString("MessageTitle_SelectCyberware"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
catch
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_SelectCyberware"), LanguageManager.Instance.GetString("MessageTitle_SelectCyberware"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
Cyberware objCyberware = new Cyberware(_objCharacter);
foreach (Cyberware objCharacterCyberware in _objCharacter.Cyberware)
{
if (objCharacterCyberware.InternalId == treCyberware.SelectedNode.Tag.ToString())
{
objCyberware = objCharacterCyberware;
break;
}
foreach (Cyberware objChild in objCharacterCyberware.Children)
{
if (objChild.InternalId == treCyberware.SelectedNode.Tag.ToString())
{
objCyberware = objChild;
break;
}
}
}
// Make sure the Cyberware is allowed to accept Gear.
if (objCyberware.AllowGear == null)
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_CyberwareGear"), LanguageManager.Instance.GetString("MessageTitle_CyberwareGear"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
frmSelectGear frmPickGear = new frmSelectGear(_objCharacter, true);
string strCategories = "";
foreach (XmlNode objXmlCategory in objCyberware.AllowGear)
strCategories += objXmlCategory.InnerText + ",";
frmPickGear.AllowedCategories = strCategories;
frmPickGear.ShowDialog(this);
if (frmPickGear.DialogResult == DialogResult.Cancel)
return;
TreeNode objNode = new TreeNode();
// Open the Gear XML file and locate the selected piece.
XmlDocument objXmlDocument = XmlManager.Instance.Load("gear.xml");
XmlNode objXmlGear = objXmlDocument.SelectSingleNode("/chummer/gears/gear[name = \"" + frmPickGear.SelectedGear + "\" and category = \"" + frmPickGear.SelectedCategory + "\"]");
// Create the new piece of Gear.
List<Weapon> objWeapons = new List<Weapon>();
List<TreeNode> objWeaponNodes = new List<TreeNode>();
Gear objNewGear = new Gear(_objCharacter);
switch (frmPickGear.SelectedCategory)
{
case "Commlink":
case "Commlink Upgrade":
Commlink objCommlink = new Commlink(_objCharacter);
objCommlink.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating);
objCommlink.Quantity = frmPickGear.SelectedQty;
objNode.Text = objCommlink.DisplayName;
objNewGear = objCommlink;
break;
case "Commlink Operating System":
case "Commlink Operating System Upgrade":
OperatingSystem objOperatingSystem = new OperatingSystem(_objCharacter);
objOperatingSystem.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating);
objOperatingSystem.Quantity = frmPickGear.SelectedQty;
objNode.Text = objOperatingSystem.DisplayName;
objNewGear = objOperatingSystem;
break;
default:
Gear objGear = new Gear(_objCharacter);
objGear.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating, objWeapons, objWeaponNodes, "", frmPickGear.Hacked, frmPickGear.InherentProgram, true, true, frmPickGear.Aerodynamic);
objGear.Quantity = frmPickGear.SelectedQty;
objNode.Text = objGear.DisplayName;
objNewGear = objGear;
break;
}
if (objNewGear.InternalId == Guid.Empty.ToString())
return;
// Reduce the cost for Do It Yourself components.
if (frmPickGear.DoItYourself)
objNewGear.Cost = (Convert.ToDouble(objNewGear.Cost, GlobalOptions.Instance.CultureInfo) * 0.5).ToString();
// Reduce the cost to 10% for Hacked programs.
//.........这里部分代码省略.........
示例10: PickGear
//.........这里部分代码省略.........
}
catch
{
}
if (blnAmmoOnly)
{
frmPickGear.AllowedCategories = "Ammunition";
frmPickGear.SelectedGear = objSelectedGear.Name;
}
frmPickGear.ShowDialog(this);
// Make sure the dialogue window was not canceled.
if (frmPickGear.DialogResult == DialogResult.Cancel)
return false;
TreeNode objNode = new TreeNode();
// Open the Cyberware XML file and locate the selected piece.
objXmlDocument = XmlManager.Instance.Load("gear.xml");
objXmlGear = objXmlDocument.SelectSingleNode("/chummer/gears/gear[name = \"" + frmPickGear.SelectedGear + "\" and category = \"" + frmPickGear.SelectedCategory + "\"]");
// Create the new piece of Gear.
Gear objNewGear = new Gear(_objCharacter);
List<Weapon> objWeapons = new List<Weapon>();
List<TreeNode> objWeaponNodes = new List<TreeNode>();
switch (frmPickGear.SelectedCategory)
{
case "Commlink":
case "Commlink Upgrade":
Commlink objCommlink = new Commlink(_objCharacter);
objCommlink.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating);
objCommlink.Quantity = frmPickGear.SelectedQty;
objNode.Text = objCommlink.DisplayName;
objNewGear = objCommlink;
break;
case "Commlink Operating System":
case "Commlink Operating System Upgrade":
OperatingSystem objOperatingSystem = new OperatingSystem(_objCharacter);
objOperatingSystem.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating);
objOperatingSystem.Quantity = frmPickGear.SelectedQty;
objNode.Text = objOperatingSystem.DisplayName;
objNewGear = objOperatingSystem;
break;
default:
string strForceValue = "";
if (blnAmmoOnly)
{
strForceValue = objSelectedGear.Extra;
try
{
treGear.SelectedNode = treGear.SelectedNode.Parent;
}
catch
{
}
}
if (strForceItemValue != "")
strForceValue = strForceItemValue;
Gear objGear = new Gear(_objCharacter);
objGear.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating, objWeapons, objWeaponNodes, strForceValue, frmPickGear.Hacked, frmPickGear.InherentProgram, true, true, frmPickGear.Aerodynamic);
objGear.Quantity = frmPickGear.SelectedQty;
示例11: PickArmorGear
//.........这里部分代码省略.........
strCategories += objXmlCategory.InnerText + ",";
// Remove the trailing comma.
strCategories = strCategories.Substring(0, strCategories.Length - 1);
frmPickGear.AddCategory(strCategories);
}
}
}
catch
{
}
frmPickGear.ShowDialog(this);
// Make sure the dialogue window was not canceled.
if (frmPickGear.DialogResult == DialogResult.Cancel)
return false;
TreeNode objNode = new TreeNode();
// Open the Cyberware XML file and locate the selected piece.
objXmlDocument = XmlManager.Instance.Load("gear.xml");
objXmlGear = objXmlDocument.SelectSingleNode("/chummer/gears/gear[name = \"" + frmPickGear.SelectedGear + "\" and category = \"" + frmPickGear.SelectedCategory + "\"]");
// Create the new piece of Gear.
Gear objNewGear = new Gear(_objCharacter);
List<Weapon> objWeapons = new List<Weapon>();
List<TreeNode> objWeaponNodes = new List<TreeNode>();
switch (frmPickGear.SelectedCategory)
{
case "Commlink":
case "Commlink Upgrade":
Commlink objCommlink = new Commlink(_objCharacter);
objCommlink.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating);
objCommlink.Quantity = frmPickGear.SelectedQty;
objNewGear = objCommlink;
break;
case "Commlink Operating System":
case "Commlink Operating System Upgrade":
OperatingSystem objOperatingSystem = new OperatingSystem(_objCharacter);
objOperatingSystem.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating);
objOperatingSystem.Quantity = frmPickGear.SelectedQty;
objNewGear = objOperatingSystem;
break;
default:
Gear objGear = new Gear(_objCharacter);
objGear.Create(objXmlGear, _objCharacter, objNode, frmPickGear.SelectedRating, objWeapons, objWeaponNodes, "", false, false, true, true, frmPickGear.Aerodynamic);
objGear.Quantity = frmPickGear.SelectedQty;
objNewGear = objGear;
break;
}
if (objNewGear.InternalId == Guid.Empty.ToString())
return false;
if (!blnNullParent)
objNewGear.Parent = objSelectedGear;
// Reduce the cost for Do It Yourself components.
if (frmPickGear.DoItYourself)
objNewGear.Cost = (Convert.ToDouble(objNewGear.Cost, GlobalOptions.Instance.CultureInfo) * 0.5).ToString();
// Apply a markup if applicable.
示例12: UpdateGearInfo
/// <summary>
/// Update the Gear's information based on the Gear selected and current Rating.
/// </summary>
private void UpdateGearInfo()
{
if (lstGear.Text != "")
{
// Retireve the information for the selected piece of Cyberware.
XmlNode objXmlGear;
int intItemCost = 0;
string strCategory = "";
objXmlGear = _objXmlDocument.SelectSingleNode("/chummer/gears/gear[id = \"" + lstGear.SelectedValue + "\"]");
strCategory = cboCategory.SelectedValue.ToString();
TreeNode objTreeNode = new TreeNode();
List<Weapon> lstWeapons = new List<Weapon>();
List<TreeNode> lstTreeNodes = new List<TreeNode>();
Gear objGear = new Gear(_objCharacter);
Commlink objCommlink = new Commlink(_objCharacter);
OperatingSystem objOperatingSystem = new OperatingSystem(_objCharacter);
if (objXmlGear["category"].InnerText == "Commlink" || objXmlGear["category"].InnerText == "Commlink Upgrade")
{
objCommlink.Create(objXmlGear, _objCharacter, objTreeNode, Convert.ToInt32(nudRating.Value), false, true);
objGear = (Gear)objCommlink;
}
else if (objXmlGear["category"].InnerText == "Operating System" || objXmlGear["category"].InnerText == "Operating System Upgrade")
{
objOperatingSystem.Create(objXmlGear, _objCharacter, objTreeNode, Convert.ToInt32(nudRating.Value), false, true);
objGear = (Gear)objCommlink;
}
else
objGear.Create(objXmlGear, _objCharacter, objTreeNode, Convert.ToInt32(nudRating.Value), lstWeapons, lstTreeNodes, "", chkHacked.Checked, false, false, true, chkAerodynamic.Checked);
if (_objCharacter.Metatype == "A.I." || _objCharacter.MetatypeCategory == "Technocritters" || _objCharacter.MetatypeCategory == "Protosapients")
{
if ((strCategory == "Matrix Programs" || strCategory == "Skillsofts" || strCategory == "Autosofts" || strCategory == "Autosofts, Agent" || strCategory == "Autosofts, Drone") && _objCharacter.Options.BookEnabled("UN") && !lstGear.SelectedValue.ToString().StartsWith("Suite:"))
chkInherentProgram.Visible = true;
else
chkInherentProgram.Visible = false;
chkInherentProgram.Enabled = !chkHacked.Checked;
if (!chkInherentProgram.Enabled)
chkInherentProgram.Checked = false;
}
else
chkInherentProgram.Visible = false;
if (objGear.GetType() == typeof(Commlink))
{
lblGearResponse.Text = objCommlink.TotalResponse.ToString();
lblGearSignal.Text = objCommlink.TotalSignal.ToString();
lblGearSystem.Text = "";
lblGearFirewall.Text = "";
}
else if (objGear.GetType() == typeof(OperatingSystem))
{
lblGearResponse.Text = "";
lblGearSignal.Text = "";
lblGearSystem.Text = objOperatingSystem.System.ToString();
lblGearFirewall.Text = objOperatingSystem.Firewall.ToString();
}
else
{
lblGearResponse.Text = "";
lblGearSignal.Text = "";
lblGearSystem.Text = "";
lblGearFirewall.Text = "";
}
if (objXmlGear["category"].InnerText.EndsWith("Software") || objXmlGear["category"].InnerText.EndsWith("Programs") || objXmlGear["category"].InnerText == "Program Options" || objXmlGear["category"].InnerText.StartsWith("Autosofts") || objXmlGear["category"].InnerText.StartsWith("Skillsoft") || objXmlGear["category"].InnerText == "Program Packages" || objXmlGear["category"].InnerText == "Software Suites")
chkHacked.Visible = true;
else
chkHacked.Visible = false;
string strBook = _objCharacter.Options.LanguageBookShort(objGear.Source);
string strPage = objGear.Page;
lblSource.Text = strBook + " " + strPage;
// Avail.
lblAvail.Text = objGear.TotalAvail();
double dblMultiplier = Convert.ToDouble(nudGearQty.Value / nudGearQty.Increment, GlobalOptions.Instance.CultureInfo);
if (chkDoItYourself.Checked)
dblMultiplier *= 0.5;
// Cost.
if (objGear.Cost.StartsWith("Variable"))
{
int intMin = 0;
int intMax = 0;
string strCost = objGear.Cost.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));
//.........这里部分代码省略.........