本文整理汇总了C#中MyCubeBlock.CommitUpgradeValues方法的典型用法代码示例。如果您正苦于以下问题:C# MyCubeBlock.CommitUpgradeValues方法的具体用法?C# MyCubeBlock.CommitUpgradeValues怎么用?C# MyCubeBlock.CommitUpgradeValues使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MyCubeBlock
的用法示例。
在下文中一共展示了MyCubeBlock.CommitUpgradeValues方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddEffectToBlock
private void AddEffectToBlock(MyCubeBlock block)
{
foreach (var upgrade in m_upgrades)
{
float val;
if (block.UpgradeValues.TryGetValue(upgrade.UpgradeType, out val))
{
if (upgrade.ModifierType == MyUpgradeModifierType.Additive)
{
val += upgrade.Modifier;
}
else
{
val *= upgrade.Modifier;
}
block.UpgradeValues[upgrade.UpgradeType] = val;
}
}
block.CommitUpgradeValues();
}
示例2: RemoveEffectFromBlock
private void RemoveEffectFromBlock(MyCubeBlock block)
{
foreach (var upgrade in m_upgrades)
{
float val;
if (block.UpgradeValues.TryGetValue(upgrade.UpgradeType, out val))
{
if (upgrade.ModifierType == MyUpgradeModifierType.Additive)
{
val -= upgrade.Modifier;
if (val < 0f)
{
val = 0f;
Debug.Fail("Additive modifier cannot be negative!");
}
}
else
{
val /= upgrade.Modifier;
if (val < 1f)
{
val = 1f;
Debug.Fail("Multiplicative modifier cannot be < 1.0f!");
}
}
block.UpgradeValues[upgrade.UpgradeType] = val;
}
}
block.CommitUpgradeValues();
}