本文整理汇总了C#中Chummer.ImprovementManager类的典型用法代码示例。如果您正苦于以下问题:C# ImprovementManager类的具体用法?C# ImprovementManager怎么用?C# ImprovementManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ImprovementManager类属于Chummer命名空间,在下文中一共展示了ImprovementManager类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: frmCareer
public frmCareer(Character objCharacter)
{
_objCharacter = objCharacter;
_objOptions = _objCharacter.Options;
_objFunctions = new CommonFunctions(_objCharacter);
_objFunctions.ContextMenuArmor = cmsArmor;
_objFunctions.ContextMenuArmorMod = cmsArmorMod;
_objFunctions.ContextMenuCyberware = cmsCyberware;
_objFunctions.ContextMenuGear = cmsGear;
_objFunctions.ContextMenuVehicle = cmsVehicle;
_objFunctions.ContextMenuVehicleMod = cmsVehicle;
_objFunctions.ContextMenuWeapon = cmsWeapon;
_objFunctions.ContextMenuWeaponAccessory = cmsWeaponAccessoryGear;
_objFunctions.ContextMenuWeaponMod = cmsWeaponMod;
_objImprovementManager = new ImprovementManager(_objCharacter);
_objController = new MainController(_objCharacter);
InitializeComponent();
// Add EventHandlers for the MAG and RES enabled events and tab enabled events.
_objCharacter.MAGEnabledChanged += objCharacter_MAGEnabledChanged;
_objCharacter.RESEnabledChanged += objCharacter_RESEnabledChanged;
_objCharacter.AdeptTabEnabledChanged += objCharacter_AdeptTabEnabledChanged;
_objCharacter.MagicianTabEnabledChanged += objCharacter_MagicianTabEnabledChanged;
_objCharacter.TechnomancerTabEnabledChanged += objCharacter_TechnomancerTabEnabledChanged;
_objCharacter.CritterTabEnabledChanged += objCharacter_CritterTabEnabledChanged;
_objCharacter.BlackMarketEnabledChanged += objCharacter_BlackMarketChanged;
_objCharacter.SensitiveSystemChanged += objCharacter_SensitiveSystemChanged;
_objCharacter.UneducatedChanged += objCharacter_UneducatedChanged;
_objCharacter.UncouthChanged += objCharacter_UncouthChanged;
_objCharacter.InfirmChanged += objCharacter_InfirmChanged;
GlobalOptions.Instance.MRUChanged += PopulateMRU;
LanguageManager.Instance.Load(this);
// Update the text in the Menus so they can be merged with frmMain properly.
foreach (ToolStripMenuItem objItem in mnuCreateMenu.Items.OfType<ToolStripMenuItem>())
{
if (objItem.Tag != null)
{
objItem.Text = LanguageManager.Instance.GetString(objItem.Tag.ToString());
}
}
_lvwKarmaColumnSorter = new ListViewColumnSorter();
_lvwKarmaColumnSorter.SortColumn = 0;
_lvwKarmaColumnSorter.Order = SortOrder.Descending;
lstKarma.ListViewItemSorter = _lvwKarmaColumnSorter;
_lvwNuyenColumnSorter = new ListViewColumnSorter();
_lvwNuyenColumnSorter.SortColumn = 0;
_lvwNuyenColumnSorter.Order = SortOrder.Descending;
lstNuyen.ListViewItemSorter = _lvwNuyenColumnSorter;
SetTooltips();
MoveControls();
}
开发者ID:janhelke,项目名称:chummer2,代码行数:57,代码来源:frmCareer.cs
示例2: frmCreate
public frmCreate(Character objCharacter)
{
_objCharacter = objCharacter;
_objOptions = _objCharacter.Options;
_objFunctions = new CommonFunctions(_objCharacter);
_objImprovementManager = new ImprovementManager(_objCharacter);
_objController = new MainController(_objCharacter);
InitializeComponent();
// Add EventHandlers for the various events MAG, RES, Qualities, etc.
_objCharacter.MAGEnabledChanged += objCharacter_MAGEnabledChanged;
_objCharacter.RESEnabledChanged += objCharacter_RESEnabledChanged;
_objCharacter.AdeptTabEnabledChanged += objCharacter_AdeptTabEnabledChanged;
_objCharacter.MagicianTabEnabledChanged += objCharacter_MagicianTabEnabledChanged;
_objCharacter.TechnomancerTabEnabledChanged += objCharacter_TechnomancerTabEnabledChanged;
_objCharacter.InitiationTabEnabledChanged += objCharacter_InitiationTabEnabledChanged;
_objCharacter.CritterTabEnabledChanged += objCharacter_CritterTabEnabledChanged;
_objCharacter.BlackMarketEnabledChanged += objCharacter_BlackMarketDiscountChanged;
_objCharacter.SkillsSection.UneducatedChanged += objCharacter_UneducatedChanged;
_objCharacter.SkillsSection.UncouthChanged += objCharacter_UncouthChanged;
_objCharacter.FriendsInHighPlacesChanged += objCharacter_FriendsInHighPlacesChanged;
_objCharacter.SkillsSection.SchoolOfHardKnocksChanged += objCharacter_SchoolOfHardKnocksChanged;
_objCharacter.ExConChanged += objCharacter_ExConChanged;
_objCharacter.TrustFundChanged += objCharacter_TrustFundChanged;
_objCharacter.SkillsSection.TechSchoolChanged += objCharacter_TechSchoolChanged;
_objCharacter.RestrictedGearChanged += objCharacter_RestrictedGearChanged;
_objCharacter.OverclockerChanged += objCharacter_OverclockerChanged;
_objCharacter.MadeManChanged += objCharacter_MadeManChanged;
_objCharacter.SkillsSection.LinguistChanged += objCharacter_LinguistChanged;
_objCharacter.LightningReflexesChanged += objCharacter_LightningReflexesChanged;
_objCharacter.FameChanged += objCharacter_FameChanged;
_objCharacter.BornRichChanged += objCharacter_BornRichChanged;
_objCharacter.ErasedChanged += objCharacter_ErasedChanged;
tabSkillUc.ChildPropertyChanged += SkillPropertyChanged;
GlobalOptions.Instance.MRUChanged += PopulateMRU;
LanguageManager.Instance.Load(GlobalOptions.Instance.Language, this);
// Update the text in the Menus so they can be merged with frmMain properly.
foreach (ToolStripMenuItem objItem in mnuCreateMenu.Items.OfType<ToolStripMenuItem>())
{
if (objItem.Tag != null)
{
objItem.Text = LanguageManager.Instance.GetString(objItem.Tag.ToString());
}
}
SetTooltips();
MoveControls();
}
开发者ID:argo2445,项目名称:chummer5a,代码行数:52,代码来源:frmCreate.cs
示例3: frmCareer
public frmCareer(Character objCharacter)
{
_objCharacter = objCharacter;
_objOptions = _objCharacter.Options;
_objFunctions = new CommonFunctions(_objCharacter);
_objImprovementManager = new ImprovementManager(_objCharacter);
_objController = new MainController(_objCharacter);
InitializeComponent();
// Add EventHandlers for the MAG and RES enabled events and tab enabled events.
_objCharacter.MAGEnabledChanged += objCharacter_MAGEnabledChanged;
_objCharacter.RESEnabledChanged += objCharacter_RESEnabledChanged;
_objCharacter.AdeptTabEnabledChanged += objCharacter_AdeptTabEnabledChanged;
_objCharacter.MagicianTabEnabledChanged += objCharacter_MagicianTabEnabledChanged;
_objCharacter.TechnomancerTabEnabledChanged += objCharacter_TechnomancerTabEnabledChanged;
_objCharacter.CritterTabEnabledChanged += objCharacter_CritterTabEnabledChanged;
_objCharacter.SkillsSection.UneducatedChanged += objCharacter_UneducatedChanged;
_objCharacter.SkillsSection.UncouthChanged += objCharacter_UncouthChanged;
_objCharacter.FameChanged += objCharacter_FameChanged;
tabSkillsUc.ChildPropertyChanged += SkillPropertyChanged;
GlobalOptions.Instance.MRUChanged += PopulateMRU;
LanguageManager.Instance.Load(GlobalOptions.Instance.Language, this);
// Update the text in the Menus so they can be merged with frmMain properly.
foreach (ToolStripMenuItem objItem in mnuCreateMenu.Items.OfType<ToolStripMenuItem>())
{
if (objItem.Tag != null)
{
objItem.Text = LanguageManager.Instance.GetString(objItem.Tag.ToString());
}
}
_lvwKarmaColumnSorter = new ListViewColumnSorter();
_lvwKarmaColumnSorter.SortColumn = 0;
_lvwKarmaColumnSorter.Order = SortOrder.Descending;
lstKarma.ListViewItemSorter = _lvwKarmaColumnSorter;
_lvwNuyenColumnSorter = new ListViewColumnSorter();
_lvwNuyenColumnSorter.SortColumn = 0;
_lvwNuyenColumnSorter.Order = SortOrder.Descending;
lstNuyen.ListViewItemSorter = _lvwNuyenColumnSorter;
SetTooltips();
MoveControls();
}
开发者ID:argo2445,项目名称:chummer5a,代码行数:45,代码来源:frmCareer.cs
示例4: frmCreate
public frmCreate(Character objCharacter)
{
_objCharacter = objCharacter;
_objOptions = _objCharacter.Options;
_objFunctions = new CommonFunctions(_objCharacter);
_objImprovementManager = new ImprovementManager(_objCharacter);
_objController = new MainController(_objCharacter);
InitializeComponent();
// Add EventHandlers for the MAG and RES enabled events and tab enabled events.
_objCharacter.MAGEnabledChanged += objCharacter_MAGEnabledChanged;
_objCharacter.RESEnabledChanged += objCharacter_RESEnabledChanged;
_objCharacter.AdeptTabEnabledChanged += objCharacter_AdeptTabEnabledChanged;
_objCharacter.MagicianTabEnabledChanged += objCharacter_MagicianTabEnabledChanged;
_objCharacter.TechnomancerTabEnabledChanged += objCharacter_TechnomancerTabEnabledChanged;
_objCharacter.InitiationTabEnabledChanged += objCharacter_InitiationTabEnabledChanged;
_objCharacter.CritterTabEnabledChanged += objCharacter_CritterTabEnabledChanged;
_objCharacter.BlackMarketEnabledChanged += objCharacter_BlackMarketChanged;
_objCharacter.UneducatedChanged += objCharacter_UneducatedChanged;
_objCharacter.UncouthChanged += objCharacter_UncouthChanged;
_objCharacter.InfirmChanged += objCharacter_InfirmChanged;
GlobalOptions.Instance.MRUChanged += PopulateMRU;
LanguageManager.Instance.Load(GlobalOptions.Instance.Language, this);
// Update the text in the Menus so they can be merged with frmMain properly.
foreach (ToolStripMenuItem objItem in mnuCreateMenu.Items.OfType<ToolStripMenuItem>())
{
if (objItem.Tag != null)
{
objItem.Text = LanguageManager.Instance.GetString(objItem.Tag.ToString());
}
}
SetTooltips();
MoveControls();
}
开发者ID:kingcortez905,项目名称:chummer5,代码行数:37,代码来源:frmCreate.cs
示例5: Character
/// <summary>
/// Character.
/// </summary>
public Character()
{
_attBOD._objCharacter = this;
_attAGI._objCharacter = this;
_attREA._objCharacter = this;
_attSTR._objCharacter = this;
_attCHA._objCharacter = this;
_attINT._objCharacter = this;
_attLOG._objCharacter = this;
_attWIL._objCharacter = this;
_attINI._objCharacter = this;
_attEDG._objCharacter = this;
_attMAG._objCharacter = this;
_attRES._objCharacter = this;
_attESS._objCharacter = this;
_objImprovementManager = new ImprovementManager(this);
}
开发者ID:ercflemng,项目名称:chummer5a,代码行数:20,代码来源:clsCharacter.cs
示例6: DeleteGear
/// <summary>
/// Recursive method to delete a piece of Gear and its Improvements from the character.
/// </summary>
/// <param name="objGear">Gear to delete.</param>
/// <param name="treWeapons">TreeView that holds the list of Weapons.</param>
/// <param name="objImprovementManager">Improvement Manager the character is using.</param>
public void DeleteGear(Gear objGear, TreeView treWeapons, ImprovementManager objImprovementManager)
{
// Remove any children the Gear may have.
foreach (Gear objChild in objGear.Children)
DeleteGear(objChild, treWeapons, objImprovementManager);
// Remove the Gear Weapon created by the Gear if applicable.
if (objGear.WeaponID != Guid.Empty.ToString())
{
// Remove the Weapon from the TreeView.
TreeNode objRemoveNode = new TreeNode();
foreach (TreeNode objWeaponNode in treWeapons.Nodes[0].Nodes)
{
if (objWeaponNode.Tag.ToString() == objGear.WeaponID)
objRemoveNode = objWeaponNode;
}
treWeapons.Nodes.Remove(objRemoveNode);
// Remove the Weapon from the Character.
Weapon objRemoveWeapon = new Weapon(_objCharacter);
foreach (Weapon objWeapon in _objCharacter.Weapons)
{
if (objWeapon.InternalId == objGear.WeaponID)
objRemoveWeapon = objWeapon;
}
_objCharacter.Weapons.Remove(objRemoveWeapon);
}
objImprovementManager.RemoveImprovements(Improvement.ImprovementSource.Gear, objGear.InternalId);
// If a Focus is being removed, make sure the actual Focus is being removed from the character as well.
if (objGear.Category == "Foci" || objGear.Category == "Metamagic Foci")
{
List<Focus> lstRemoveFoci = new List<Focus>();
foreach (Focus objFocus in _objCharacter.Foci)
{
if (objFocus.GearId == objGear.InternalId)
lstRemoveFoci.Add(objFocus);
}
foreach (Focus objFocus in lstRemoveFoci)
_objCharacter.Foci.Remove(objFocus);
}
// If a Stacked Focus is being removed, make sure the Stacked Foci and its bonuses are being removed.
if (objGear.Category == "Stacked Focus")
{
foreach (StackedFocus objStack in _objCharacter.StackedFoci)
{
if (objStack.GearId == objGear.InternalId)
{
objImprovementManager.RemoveImprovements(Improvement.ImprovementSource.StackedFocus, objStack.InternalId);
_objCharacter.StackedFoci.Remove(objStack);
break;
}
}
}
}
开发者ID:hollis21,项目名称:Chummer,代码行数:63,代码来源:clsCommon.cs
示例7: Create
/// Create a Skill Limit Modifier from an XmlNode and return the TreeNodes for it.
/// <param name="objXmlAdvantageNode">XmlNode to create the object from.</param>
/// <param name="objCharacter">Character the Gear is being added to.</param>
/// <param name="objNode">TreeNode to populate a TreeView.</param>
public void Create(XmlNode objXmlLimitModifierNode, Character objCharacter, TreeNode objNode)
{
_strName = objXmlLimitModifierNode["name"].InnerText;
if (objXmlLimitModifierNode["bonus"] != null)
{
ImprovementManager objImprovementManager = new ImprovementManager(objCharacter);
if (!objImprovementManager.CreateImprovements(Improvement.ImprovementSource.MartialArtAdvantage, _guiID.ToString(), objXmlLimitModifierNode["bonus"], false, 1, DisplayNameShort))
{
_guiID = Guid.Empty;
return;
}
}
objNode.Text = DisplayName;
objNode.Tag = _guiID.ToString();
}
开发者ID:Vanatrix,项目名称:chummer5a,代码行数:21,代码来源:clsUnique.cs
示例8: Create
/// <summary>
/// Create a Quality from an XmlNode and return the TreeNodes for it.
/// </summary>
/// <param name="objXmlQuality">XmlNode to create the object from.</param>
/// <param name="objCharacter">Character object the Quality will be added to.</param>
/// <param name="objQualitySource">Source of the Quality.</param>
/// <param name="objNode">TreeNode to populate a TreeView.</param>
/// <param name="objWeapons">List of Weapons that should be added to the Character.</param>
/// <param name="objWeaponNodes">List of TreeNodes to represent the Weapons added.</param>
/// <param name="strForceValue">Force a value to be selected for the Quality.</param>
public void Create(XmlNode objXmlQuality, Character objCharacter, QualitySource objQualitySource, TreeNode objNode, List<Weapon> objWeapons, List<TreeNode> objWeaponNodes, string strForceValue = "")
{
_strName = objXmlQuality["name"].InnerText;
_intBP = Convert.ToInt32(objXmlQuality["karma"].InnerText);
_objQualityType = ConvertToQualityType(objXmlQuality["category"].InnerText);
_objQualitySource = objQualitySource;
if (objXmlQuality["print"] != null)
{
if (objXmlQuality["print"].InnerText == "no")
_blnPrint = false;
}
if (objXmlQuality["contributetolimit"] != null)
{
if (objXmlQuality["contributetolimit"].InnerText == "no")
_blnContributeToLimit = false;
}
_strSource = objXmlQuality["source"].InnerText;
_strPage = objXmlQuality["page"].InnerText;
if (objXmlQuality["mutant"] != null)
_strMutant = "yes";
if (GlobalOptions.Instance.Language != "en-us")
{
XmlDocument objXmlDocument = XmlManager.Instance.Load("qualities.xml");
XmlNode objQualityNode = objXmlDocument.SelectSingleNode("/chummer/qualities/quality[name = \"" + _strName + "\"]");
if (objQualityNode != null)
{
if (objQualityNode["translate"] != null)
_strAltName = objQualityNode["translate"].InnerText;
if (objQualityNode["altpage"] != null)
_strAltPage = objQualityNode["altpage"].InnerText;
}
}
// Add Weapons if applicable.
if (objXmlQuality.InnerXml.Contains("<addweapon>"))
{
XmlDocument objXmlWeaponDocument = XmlManager.Instance.Load("weapons.xml");
// More than one Weapon can be added, so loop through all occurrences.
foreach (XmlNode objXmlAddWeapon in objXmlQuality.SelectNodes("addweapon"))
{
XmlNode objXmlWeapon = objXmlWeaponDocument.SelectSingleNode("/chummer/weapons/weapon[name = \"" + objXmlAddWeapon.InnerText + "\" and starts-with(category, \"Quality\")]");
TreeNode objGearWeaponNode = new TreeNode();
Weapon objGearWeapon = new Weapon(objCharacter);
objGearWeapon.Create(objXmlWeapon, objCharacter, objGearWeaponNode, null, null, null);
objGearWeaponNode.ForeColor = SystemColors.GrayText;
objWeaponNodes.Add(objGearWeaponNode);
objWeapons.Add(objGearWeapon);
_guiWeaponID = Guid.Parse(objGearWeapon.InternalId);
}
}
// If the item grants a bonus, pass the information to the Improvement Manager.
if (objXmlQuality.InnerXml.Contains("<bonus>"))
{
ImprovementManager objImprovementManager = new ImprovementManager(objCharacter);
objImprovementManager.ForcedValue = strForceValue;
if (!objImprovementManager.CreateImprovements(Improvement.ImprovementSource.Quality, _guiID.ToString(), objXmlQuality["bonus"], false, 1, DisplayNameShort))
{
_guiID = Guid.Empty;
return;
}
if (objImprovementManager.SelectedValue != "")
{
_strExtra = objImprovementManager.SelectedValue;
objNode.Text += " (" + objImprovementManager.SelectedValue + ")";
}
}
// Metatype Qualities appear as grey text to show that they cannot be removed.
if (objQualitySource == QualitySource.Metatype || objQualitySource == QualitySource.MetatypeRemovable)
objNode.ForeColor = SystemColors.GrayText;
objNode.Text = DisplayName;
objNode.Tag = InternalId;
}
开发者ID:kingcortez905,项目名称:chummer5,代码行数:89,代码来源:clsUnique.cs
示例9: MetatypeSelected
/// <summary>
/// A Metatype has been selected, so fill in all of the necessary Character information.
/// </summary>
void MetatypeSelected()
{
if (lstMetatypes.Text != "")
{
ImprovementManager objImprovementManager = new ImprovementManager(_objCharacter);
XmlDocument objXmlDocument = XmlManager.Instance.Load(_strXmlFile);
XmlNode objXmlMetatype = objXmlDocument.SelectSingleNode("/chummer/metatypes/metatype[name = \"" + lstMetatypes.SelectedValue + "\"]");
XmlNode objXmlMetavariant = objXmlDocument.SelectSingleNode("/chummer/metatypes/metatype[name = \"" + lstMetatypes.SelectedValue + "\"]/metavariants/metavariant[name = \"" + cboMetavariant.SelectedValue + "\"]");
int intForce = 0;
if (nudForce.Visible)
intForce = Convert.ToInt32(nudForce.Value);
// Set Metatype information.
if (cboMetavariant.SelectedValue.ToString() != "None")
{
_objCharacter.BOD.AssignLimits(ExpressionToString(objXmlMetavariant["bodmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["bodmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["bodaug"].InnerText, intForce, 0));
_objCharacter.AGI.AssignLimits(ExpressionToString(objXmlMetavariant["agimin"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["agimax"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["agiaug"].InnerText, intForce, 0));
_objCharacter.REA.AssignLimits(ExpressionToString(objXmlMetavariant["reamin"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["reamax"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["reaaug"].InnerText, intForce, 0));
_objCharacter.STR.AssignLimits(ExpressionToString(objXmlMetavariant["strmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["strmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["straug"].InnerText, intForce, 0));
_objCharacter.CHA.AssignLimits(ExpressionToString(objXmlMetavariant["chamin"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["chamax"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["chaaug"].InnerText, intForce, 0));
_objCharacter.INT.AssignLimits(ExpressionToString(objXmlMetavariant["intmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["intmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["intaug"].InnerText, intForce, 0));
_objCharacter.LOG.AssignLimits(ExpressionToString(objXmlMetavariant["logmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["logmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["logaug"].InnerText, intForce, 0));
_objCharacter.WIL.AssignLimits(ExpressionToString(objXmlMetavariant["wilmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["wilmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["wilaug"].InnerText, intForce, 0));
_objCharacter.INI.AssignLimits(ExpressionToString(objXmlMetavariant["inimin"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["inimax"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["iniaug"].InnerText, intForce, 0));
_objCharacter.MAG.AssignLimits(ExpressionToString(objXmlMetavariant["magmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["magmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["magaug"].InnerText, intForce, 0));
_objCharacter.RES.AssignLimits(ExpressionToString(objXmlMetavariant["resmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["resmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["resaug"].InnerText, intForce, 0));
_objCharacter.EDG.AssignLimits(ExpressionToString(objXmlMetavariant["edgmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["edgmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["edgaug"].InnerText, intForce, 0));
_objCharacter.ESS.AssignLimits(ExpressionToString(objXmlMetavariant["essmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["essmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetavariant["essaug"].InnerText, intForce, 0));
}
else if (_strXmlFile != "critters.xml" || lstMetatypes.SelectedValue.ToString() == "Ally Spirit")
{
_objCharacter.BOD.AssignLimits(ExpressionToString(objXmlMetatype["bodmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["bodmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["bodaug"].InnerText, intForce, 0));
_objCharacter.AGI.AssignLimits(ExpressionToString(objXmlMetatype["agimin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["agimax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["agiaug"].InnerText, intForce, 0));
_objCharacter.REA.AssignLimits(ExpressionToString(objXmlMetatype["reamin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["reamax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["reaaug"].InnerText, intForce, 0));
_objCharacter.STR.AssignLimits(ExpressionToString(objXmlMetatype["strmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["strmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["straug"].InnerText, intForce, 0));
_objCharacter.CHA.AssignLimits(ExpressionToString(objXmlMetatype["chamin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["chamax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["chaaug"].InnerText, intForce, 0));
_objCharacter.INT.AssignLimits(ExpressionToString(objXmlMetatype["intmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["intmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["intaug"].InnerText, intForce, 0));
_objCharacter.LOG.AssignLimits(ExpressionToString(objXmlMetatype["logmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["logmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["logaug"].InnerText, intForce, 0));
_objCharacter.WIL.AssignLimits(ExpressionToString(objXmlMetatype["wilmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["wilmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["wilaug"].InnerText, intForce, 0));
_objCharacter.INI.AssignLimits(ExpressionToString(objXmlMetatype["inimin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["inimax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["iniaug"].InnerText, intForce, 0));
_objCharacter.MAG.AssignLimits(ExpressionToString(objXmlMetatype["magmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["magmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["magaug"].InnerText, intForce, 0));
_objCharacter.RES.AssignLimits(ExpressionToString(objXmlMetatype["resmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["resmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["resaug"].InnerText, intForce, 0));
_objCharacter.EDG.AssignLimits(ExpressionToString(objXmlMetatype["edgmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["edgmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["edgaug"].InnerText, intForce, 0));
_objCharacter.ESS.AssignLimits(ExpressionToString(objXmlMetatype["essmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["essmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["essaug"].InnerText, intForce, 0));
}
else
{
int intMinModifier = -3;
if (cboCategory.SelectedValue.ToString() == "Mutant Critters")
intMinModifier = 0;
_objCharacter.BOD.AssignLimits(ExpressionToString(objXmlMetatype["bodmin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["bodmin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["bodmin"].InnerText, intForce, 3));
_objCharacter.AGI.AssignLimits(ExpressionToString(objXmlMetatype["agimin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["agimin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["agimin"].InnerText, intForce, 3));
_objCharacter.REA.AssignLimits(ExpressionToString(objXmlMetatype["reamin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["reamin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["reamin"].InnerText, intForce, 3));
_objCharacter.STR.AssignLimits(ExpressionToString(objXmlMetatype["strmin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["strmin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["strmin"].InnerText, intForce, 3));
_objCharacter.CHA.AssignLimits(ExpressionToString(objXmlMetatype["chamin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["chamin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["chamin"].InnerText, intForce, 3));
_objCharacter.INT.AssignLimits(ExpressionToString(objXmlMetatype["intmin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["intmin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["intmin"].InnerText, intForce, 3));
_objCharacter.LOG.AssignLimits(ExpressionToString(objXmlMetatype["logmin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["logmin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["logmin"].InnerText, intForce, 3));
_objCharacter.WIL.AssignLimits(ExpressionToString(objXmlMetatype["wilmin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["wilmin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["wilmin"].InnerText, intForce, 3));
_objCharacter.INI.AssignLimits(ExpressionToString(objXmlMetatype["inimin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["inimax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["iniaug"].InnerText, intForce, 0));
_objCharacter.MAG.AssignLimits(ExpressionToString(objXmlMetatype["magmin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["magmin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["magmin"].InnerText, intForce, 3));
_objCharacter.RES.AssignLimits(ExpressionToString(objXmlMetatype["resmin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["resmin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["resmin"].InnerText, intForce, 3));
_objCharacter.EDG.AssignLimits(ExpressionToString(objXmlMetatype["edgmin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["edgmin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["edgmin"].InnerText, intForce, 3));
_objCharacter.ESS.AssignLimits(ExpressionToString(objXmlMetatype["essmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["essmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["essaug"].InnerText, intForce, 0));
}
// If we're working with a Critter, set the Attributes to their default values.
if (_strXmlFile == "critters.xml")
{
_objCharacter.BOD.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["bodmin"].InnerText, intForce, 0));
_objCharacter.AGI.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["agimin"].InnerText, intForce, 0));
_objCharacter.REA.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["reamin"].InnerText, intForce, 0));
_objCharacter.STR.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["strmin"].InnerText, intForce, 0));
_objCharacter.CHA.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["chamin"].InnerText, intForce, 0));
_objCharacter.INT.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["intmin"].InnerText, intForce, 0));
_objCharacter.LOG.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["logmin"].InnerText, intForce, 0));
_objCharacter.WIL.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["wilmin"].InnerText, intForce, 0));
_objCharacter.MAG.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["magmin"].InnerText, intForce, 0));
_objCharacter.RES.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["resmin"].InnerText, intForce, 0));
_objCharacter.EDG.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["edgmin"].InnerText, intForce, 0));
_objCharacter.ESS.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["essmax"].InnerText, intForce, 0));
}
// Sprites can never have Physical Attributes or WIL.
if (lstMetatypes.SelectedValue.ToString().EndsWith("Sprite"))
{
_objCharacter.BOD.AssignLimits("0", "0", "0");
_objCharacter.AGI.AssignLimits("0", "0", "0");
_objCharacter.REA.AssignLimits("0", "0", "0");
_objCharacter.STR.AssignLimits("0", "0", "0");
_objCharacter.WIL.AssignLimits("0", "0", "0");
_objCharacter.INI.MetatypeMinimum = Convert.ToInt32(ExpressionToString(objXmlMetatype["inimax"].InnerText, intForce, 0));
_objCharacter.INI.MetatypeMaximum = Convert.ToInt32(ExpressionToString(objXmlMetatype["inimax"].InnerText, intForce, 0));
}
// If this is a Shapeshifter, a Metavariant must be selected. Default to Human if None is selected.
if (cboCategory.SelectedValue.ToString() == "Shapeshifter" && cboMetavariant.SelectedValue.ToString() == "None")
//.........这里部分代码省略.........
开发者ID:Nitsuj83,项目名称:chummer5a,代码行数:101,代码来源:frmKarmaMetatype.cs
示例10: TestMetatype
void TestMetatype(string strFile)
{
XmlDocument objXmlDocument = XmlManager.Instance.Load(strFile);
pgbProgress.Minimum = 0;
pgbProgress.Value = 0;
pgbProgress.Maximum = objXmlDocument.SelectNodes("/chummer/metatypes/metatype").Count;
foreach (XmlNode objXmlMetatype in objXmlDocument.SelectNodes("/chummer/metatypes/metatype"))
{
pgbProgress.Value++;
Application.DoEvents();
objXmlDocument = XmlManager.Instance.Load(strFile);
Character _objCharacter = new Character();
ImprovementManager objImprovementManager = new ImprovementManager(_objCharacter);
try
{
int intForce = 0;
if (objXmlMetatype["forcecreature"] != null)
intForce = 1;
// Set Metatype information.
if (strFile != "critters.xml" || objXmlMetatype["name"].InnerText == "Ally Spirit")
{
_objCharacter.BOD.AssignLimits(ExpressionToString(objXmlMetatype["bodmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["bodmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["bodaug"].InnerText, intForce, 0));
_objCharacter.AGI.AssignLimits(ExpressionToString(objXmlMetatype["agimin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["agimax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["agiaug"].InnerText, intForce, 0));
_objCharacter.REA.AssignLimits(ExpressionToString(objXmlMetatype["reamin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["reamax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["reaaug"].InnerText, intForce, 0));
_objCharacter.STR.AssignLimits(ExpressionToString(objXmlMetatype["strmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["strmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["straug"].InnerText, intForce, 0));
_objCharacter.CHA.AssignLimits(ExpressionToString(objXmlMetatype["chamin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["chamax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["chaaug"].InnerText, intForce, 0));
_objCharacter.INT.AssignLimits(ExpressionToString(objXmlMetatype["intmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["intmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["intaug"].InnerText, intForce, 0));
_objCharacter.LOG.AssignLimits(ExpressionToString(objXmlMetatype["logmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["logmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["logaug"].InnerText, intForce, 0));
_objCharacter.WIL.AssignLimits(ExpressionToString(objXmlMetatype["wilmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["wilmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["wilaug"].InnerText, intForce, 0));
_objCharacter.INI.AssignLimits(ExpressionToString(objXmlMetatype["inimin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["inimax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["iniaug"].InnerText, intForce, 0));
_objCharacter.MAG.AssignLimits(ExpressionToString(objXmlMetatype["magmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["magmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["magaug"].InnerText, intForce, 0));
_objCharacter.RES.AssignLimits(ExpressionToString(objXmlMetatype["resmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["resmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["resaug"].InnerText, intForce, 0));
_objCharacter.EDG.AssignLimits(ExpressionToString(objXmlMetatype["edgmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["edgmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["edgaug"].InnerText, intForce, 0));
_objCharacter.ESS.AssignLimits(ExpressionToString(objXmlMetatype["essmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["essmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["essaug"].InnerText, intForce, 0));
}
else
{
int intMinModifier = -3;
if (objXmlMetatype["category"].InnerText == "Mutant Critters")
intMinModifier = 0;
_objCharacter.BOD.AssignLimits(ExpressionToString(objXmlMetatype["bodmin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["bodmin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["bodmin"].InnerText, intForce, 3));
_objCharacter.AGI.AssignLimits(ExpressionToString(objXmlMetatype["agimin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["agimin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["agimin"].InnerText, intForce, 3));
_objCharacter.REA.AssignLimits(ExpressionToString(objXmlMetatype["reamin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["reamin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["reamin"].InnerText, intForce, 3));
_objCharacter.STR.AssignLimits(ExpressionToString(objXmlMetatype["strmin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["strmin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["strmin"].InnerText, intForce, 3));
_objCharacter.CHA.AssignLimits(ExpressionToString(objXmlMetatype["chamin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["chamin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["chamin"].InnerText, intForce, 3));
_objCharacter.INT.AssignLimits(ExpressionToString(objXmlMetatype["intmin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["intmin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["intmin"].InnerText, intForce, 3));
_objCharacter.LOG.AssignLimits(ExpressionToString(objXmlMetatype["logmin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["logmin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["logmin"].InnerText, intForce, 3));
_objCharacter.WIL.AssignLimits(ExpressionToString(objXmlMetatype["wilmin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["wilmin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["wilmin"].InnerText, intForce, 3));
_objCharacter.INI.AssignLimits(ExpressionToString(objXmlMetatype["inimin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["inimax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["iniaug"].InnerText, intForce, 0));
_objCharacter.MAG.AssignLimits(ExpressionToString(objXmlMetatype["magmin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["magmin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["magmin"].InnerText, intForce, 3));
_objCharacter.RES.AssignLimits(ExpressionToString(objXmlMetatype["resmin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["resmin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["resmin"].InnerText, intForce, 3));
_objCharacter.EDG.AssignLimits(ExpressionToString(objXmlMetatype["edgmin"].InnerText, intForce, intMinModifier), ExpressionToString(objXmlMetatype["edgmin"].InnerText, intForce, 3), ExpressionToString(objXmlMetatype["edgmin"].InnerText, intForce, 3));
_objCharacter.ESS.AssignLimits(ExpressionToString(objXmlMetatype["essmin"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["essmax"].InnerText, intForce, 0), ExpressionToString(objXmlMetatype["essaug"].InnerText, intForce, 0));
}
// If we're working with a Critter, set the Attributes to their default values.
if (strFile == "critters.xml")
{
_objCharacter.BOD.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["bodmin"].InnerText, intForce, 0));
_objCharacter.AGI.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["agimin"].InnerText, intForce, 0));
_objCharacter.REA.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["reamin"].InnerText, intForce, 0));
_objCharacter.STR.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["strmin"].InnerText, intForce, 0));
_objCharacter.CHA.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["chamin"].InnerText, intForce, 0));
_objCharacter.INT.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["intmin"].InnerText, intForce, 0));
_objCharacter.LOG.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["logmin"].InnerText, intForce, 0));
_objCharacter.WIL.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["wilmin"].InnerText, intForce, 0));
_objCharacter.MAG.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["magmin"].InnerText, intForce, 0));
_objCharacter.RES.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["resmin"].InnerText, intForce, 0));
_objCharacter.EDG.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["edgmin"].InnerText, intForce, 0));
_objCharacter.ESS.Value = Convert.ToInt32(ExpressionToString(objXmlMetatype["essmax"].InnerText, intForce, 0));
}
// Sprites can never have Physical Attributes or WIL.
if (objXmlMetatype["name"].InnerText.EndsWith("Sprite"))
{
_objCharacter.BOD.AssignLimits("0", "0", "0");
_objCharacter.AGI.AssignLimits("0", "0", "0");
_objCharacter.REA.AssignLimits("0", "0", "0");
_objCharacter.STR.AssignLimits("0", "0", "0");
_objCharacter.WIL.AssignLimits("0", "0", "0");
_objCharacter.INI.MetatypeMinimum = Convert.ToInt32(ExpressionToString(objXmlMetatype["inimax"].InnerText, intForce, 0));
_objCharacter.INI.MetatypeMaximum = Convert.ToInt32(ExpressionToString(objXmlMetatype["inimax"].InnerText, intForce, 0));
}
_objCharacter.Metatype = objXmlMetatype["name"].InnerText;
_objCharacter.MetatypeCategory = objXmlMetatype["category"].InnerText;
_objCharacter.Metavariant = "";
_objCharacter.MetatypeBP = 400;
if (objXmlMetatype["movement"] != null)
_objCharacter.Movement = objXmlMetatype["movement"].InnerText;
// Load
|
请发表评论