创建和操作静态变量

时间:2016-03-07 16:22:50

标签: c# unity3d

我有一个脚本A,它从一个切换按钮接收一个bool输入(bool t1)并设置一个bool字段(hydro.t1Bool),其中包含从切换器接收到的bool,如下所示:

HydroElectric hydro;
public bool t1;

public void turbine1State (bool t1) {
         hydro.t1Bool = t1;
    }

我有一个带有函数的脚本B(在HydroElectric对象内)根据这个字段返回一个值Bool:

public float ControlPanel ()
        {
            turbina1 = t1Bool ? 1.5F : 0;
            prod = turbina1 ;//+ turbina2 + turbina3;
            return prod;
        }

然后我有一个脚本C从对象Hydroeletric调用ControlPanel()函数并在屏幕上显示它:

producao.text = hydro.ControlPanel().ToString();

我的问题是我需要使这个hydro.t1Bool静态才能使这个动态工作。但是为了使t1Bool静态我需要使它的类静态,但后来我不能有一个构造函数(我有)我不能声明实例成员和我的脚本A将无法工作,因为我无法声明变量静态类型。

如何使t1Bool保持静态并避免所有这些限制?

1 个答案:

答案 0 :(得分:0)

您不需要将类声明为静态以拥有静态成员

    public class HydroElectric
    {
        public static string t1Bool { get; set; }
    }

但是在静态类上使用静态成员是不好的做法。在OOP中,类是为了隐藏其成员。