public virtual async UniTask <IReadOnlyCollection <string> > LocateScriptsAsync() { OnScriptLoadStarted?.Invoke(); var result = await scriptLoader.LocateAsync(); OnScriptLoadCompleted?.Invoke(); return(result); }
public virtual async UniTask <IReadOnlyCollection <Script> > LoadAllScriptsAsync() { OnScriptLoadStarted?.Invoke(); var scriptResources = await scriptLoader.LoadAllAsync(); var scripts = scriptResources.Select(r => r.Object).ToArray(); await UniTask.WhenAll(scripts.Select(TryAddLocalizationScriptAsync)); OnScriptLoadCompleted?.Invoke(); return(scripts); }
public virtual async UniTask <IReadOnlyCollection <string> > LocateExternalScriptsAsync() { if (!CommunityModdingEnabled) { return(new List <string>()); } OnScriptLoadStarted?.Invoke(); var result = await externalScriptLoader.LocateAsync(); OnScriptLoadCompleted?.Invoke(); return(result); }
public async UniTask <IEnumerable <Script> > LoadExternalScriptsAsync() { if (!CommunityModdingEnabled) { return(new List <Script>()); } OnScriptLoadStarted?.Invoke(); var scriptResources = await externalScriptLoader.LoadAllAsync(); OnScriptLoadCompleted?.Invoke(); return(scriptResources.Select(r => r.Object)); }
public virtual async UniTask <IReadOnlyCollection <Script> > LoadExternalScriptsAsync() { if (!CommunityModdingEnabled) { return(new List <Script>()); } OnScriptLoadStarted?.Invoke(); var scriptResources = await externalScriptLoader.LoadAllAsync(); OnScriptLoadCompleted?.Invoke(); return(scriptResources.Select(r => r.Object).ToArray()); }
public async UniTask <IEnumerable <Script> > LoadAllScriptsAsync() { OnScriptLoadStarted?.Invoke(); var scriptResources = await scriptLoader.LoadAllAsync(); var scripts = scriptResources.Select(r => r.Object); await UniTask.WhenAll(scripts.Select(s => TryAddLocalizationScriptAsync(s))); if (ScriptNavigator) { ScriptNavigator.GenerateScriptButtons(scripts); } OnScriptLoadCompleted?.Invoke(); return(scripts); }
public async UniTask <Script> LoadScriptAsync(string name) { OnScriptLoadStarted?.Invoke(); if (scriptLoader.IsLoaded(name)) { OnScriptLoadCompleted?.Invoke(); return(scriptLoader.GetLoadedOrNull(name)); } var scriptResource = await scriptLoader.LoadAsync(name); await TryAddLocalizationScriptAsync(scriptResource); OnScriptLoadCompleted?.Invoke(); return(scriptResource); }
public virtual async UniTask <Script> LoadScriptAsync(string name) { OnScriptLoadStarted?.Invoke(); if (scriptLoader.IsLoaded(name)) { OnScriptLoadCompleted?.Invoke(); return(scriptLoader.GetLoadedOrNull(name)); } var scriptResource = await scriptLoader.LoadAsync(name); if (!scriptResource.Valid) { throw new Exception($"Failed to load `{name}` script: The resource is not available."); } await TryAddLocalizationScriptAsync(scriptResource); OnScriptLoadCompleted?.Invoke(); return(scriptResource); }
private void InvokeOnScriptLoadStarted() { IsLoadingScripts = true; OnScriptLoadStarted?.Invoke(); }