我的想法是删除仅存在于此的Monobehavior脚本,因为我需要执行一次任务,例如在其“开始”方法中分配事件或初始化对象,..
可以用基本方法(Awake,Start,..)创建接口并从我唯一的Monobehavior中调用所有对象吗?
这是我的完整示例:
public interface IMain {
void OnMyAwake();
void OnMyStart();
void OnMyUpdate();
}
private void Awake()
{
Debug.Log("I'm awake");
for (int x = 0; x < list.Length; x++) {
list[x].OnMyAwake();
}
}
// Use this for initialization
void Start () {
Debug.Log("I'm Start");
for (int x = 0; x < list.Length; x++)
{
list[x].OnMyStart();
}
}
// Update is called once per frame
void Update () {
for (int x = 0; x < list.Length; x++)
{
list[x].OnMyUpdate();
}
}
对这种方法有想法吗?
答案 0 :(得分:1)
您需要确保在Awake()
被全部定义之前不能调用list[0..n-1]
,或者要包含一些内容来正确处理这种情况
一旦解决,它应该会按您期望的方式工作(定时)。
您可能还希望包含OnDestroy
和OnDisable
方法。