我想更改任何数字变量,以便可以根据百分比或值来增加或减少数字变量,其方式类似于以下内容:
private int myvariable;
public (int, IncreaseType) MyVariable
{
get
{
return myvariable;
}
set
{
if (value.Item2 == IncreaseType.Percentage)
{
myvariable = myvariable * value.Item1;
}
else
{
myvariable += value.Item1;
}
}
}
有没有一种方法可以在类中使用通用函数来更改任何类变量?
答案 0 :(得分:0)
要使其更加通用(UPD:在设置百分比时会有一些问题):
//You can also make PerValue class
public struct PerValueInt
{
public int Value;
public PerValueInt(int value)
{
Value = value;
}
public void Percent (float percent)
{
Value = (int)(Value * (percent / 100f));
}
}
并使用如下所示的内容:
public PerValueInt MyVariable = new PerValueInt(50);
//...
Debug.Log(MyVariable.Value); //prints 50
MyVariable.Percent(90);
Debug.Log(MyVariable.Value); //prints 45
//...
答案 1 :(得分:-1)
我建议您尝试一下此方法。
public void foo(int percentage) {
this.myvariable *= (percentage/100);
}