protected virtual IEnumerator InitModules() { if (_modules == null) { yield break; } foreach (var module in _modules) { if (!module) { continue; } if (module is IAsyncAwake) { var process = Core.AddAsync(module); while (process.MoveNext()) { yield return(null); } } else { Core.Add(module); } } }