鲁迅说过,左边是一棵杨树,右边也是一棵杨树
那么我也可以说:
这世界上,不是蠢人,就是蠢人
Unity中Mono 的单例是这么写的
在 Unity中我们可以应用
如果我们不想用单例,有一个更简单的静态方法可用
cs
[Inject]
private void Construct(CameraSwitcherProxy proxy)
{
Debug.LogError("CAM CameraSwitcher 什么时候注入??");
proxy.SetReal(this);
}
cs
public class CameraSwitcherProxy
{
private ICameraSwitcher _real;
public void SetReal(ICameraSwitcher real) =>
_real = real;
public void SwitchToFinish() =>
_real.SwitchToFinish();
public void SwitchToFollow() =>
_real.SwitchToFollow();
public void SwitchToStart() =>
_real.SwitchToStart();
}
cs
public interface ICameraSwitcher
{
void SwitchToStart();
void SwitchToFollow();
void SwitchToFinish();
}
Unity Zenject 框架版本已经是6.0+,
很多方法可扩展直接用,并且Zenject框架有兜底提示和检测
