所以为什么这么多次了还放在这里呢, 自身的事情自身去完成, 例如检测放回对象池, 这种事情就应该由带有AudioSource组件的物体自己去完成, 而不是大包大揽全放在AudioManager里面;
至少可以创建个预制体吧,然后加载出来使用;
每次都在脚本里面写,用一种更麻烦的方式去实现
这集真够水的!!
为什么不把需要调用的面板都放到字典里呢,然后通过字典调用对应面板;
而不是只用来判断面板是否已经生成;
我的理解是谁有需要写在谁那里呗,如果后续其他预制体有其他的需求,总不能都写在这里吧,造成本来简练的代码变得臃肿;
既然bullet有需要就写个bullet脚本呗,销毁时间也不要单独写,写个脚本统一管理和调用;
其实这个顺序有点错误,小池ObjectPool只需要作为类使用就行,把具体实现方法放在池管理ObjectPoolsManager中,这样也能避免多次封装;
另外,为什么这里不直接使用字典查找呢,声明字典Dictionary<string, ObjectPool> poolDict,查找的时候直接使用名称poolDict["Bullet"]查找就可以了;
把初始化放物体自己身上就好,Awake记录,OnEnable调用初始化就好
套在里面用就可以了,
if (Input.GetKey(KeyCode.W))
{
float inputX = Input.GetAxis("Horizontal");
}
这里把字典的string类型换成E_EventCommand枚举类型就行了, Dictionary<string, UnityAction>换成 Dictionary <E_EventCommand,UnityAction>
发送一条消息到群里,@谁,谁执行
老师啊,但是你的new MonoManager.MonoController();依旧可以访问,有需要的话,应该把这个也屏蔽掉,只允许内部访问;
老师确实可以 把知识点讲解的很清楚哈
停止协程的方法