void Update() { float dt = Time.deltaTime; _bgm_unit.OnUpdate(dt); int length = _list.Count; for (int i = length - 1; i >= 0; i--) { AudioUnit unit = _list[i]; if (unit == null) { LogManager.Error("其他地方销毁了这个音乐"); continue; } bool result = unit.OnUpdate(dt); if (result) { _list.Remove(unit); _pool_factory.Push(unit); } } }