start awake 顺序问题


比如管理器类型(整个场景中只有一个实例)的东西,自身的启动我都放在awake()里面,要访问其他管理器的启动部分就放在start()里面。
比如
public class Controller
{
public static Controller instance;

private void Awake()
{
instance = this;
this.currentChapterIndex = 1;
}

public int currentChapterIndex;
}

public class Cube
{
private Start()
{
if(Controller.instance.currentChapterIndex == 1)
Debug.log("Yes");
else
Debug.log("No");
}
}

这样当场景载入的时候,哪怕这两个东西是一起生成的,都绝对能保证对Controller.instance不会报null的错。

instance的作用主要是避免去写某些静态的方法。因为静态方法中不能包括invoke这种东西,很受伤的。所以只要有了instance这个东西,这个管理器类所有的方法都可以不写成静态的,但在其他任何地方都能够通过instance来调用,很方便。

转载于:https://www.cnblogs.com/cbbcpp/p/3532226.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值