有个问题一直挺困扰我的,我有的脚本为了提升泛用性 都会开出个public bool 用于控制脚本运作方式
那么问题来了
public bool mode;
public void methodA()
{
if(mode)
{
//do
}
}
public void methodB()
{
if(mode)
{
//do
}
}
//...
这么写每个方法都要检查一次模式 虽然消耗不大 但是总觉得不是最好的方法(强迫症真的难受)
所以我想了个方法(也许反而愚蠢了)
public bool mode;
public Action selectMode;
void Start()
{
if(mode)
{
selectmode=()=>
{
//do
}
}
else
{
selectmode=()=>
{
//do
}
}
}
void Start()
{
List<info> info;
foreach(Button button in GetComponentsInChildren<Button>(true))
{
switch(info.enum)
{
case 1:
button.Onclick.AddListener(()=>
{
//do
});
break;
case 2:
button.Onclick.AddListener(()=>
{
//do
});
break;
//...
}
}
当前问题如下:
1.这么写(第二代码段)是不是反而消耗更大了?如果是这种问题(多个bool enum控制脚本走向)应当怎么解决?
2.大量使用匿名函数是否是坏习惯 (如第三代码段)?
困扰很久了 希望能了解到