private IEnumerator LoadAsync_YIELD <T>(Resource resource, System.Action <T> onComplete = null) where T : WindowObject { var resources = WindowSystem.GetResources(); yield return(resources.LoadAsync <T>(this.GetWindow(), resource, (asset) => { if (asset != null) { var instance = this.Load(asset); if (onComplete != null) { onComplete.Invoke(instance); } } else { if (onComplete != null) { onComplete.Invoke(null); } } })); }