Пример #1
0
        public virtual async UniTask <IReadOnlyCollection <string> > LocateScriptsAsync()
        {
            OnScriptLoadStarted?.Invoke();
            var result = await scriptLoader.LocateAsync();

            OnScriptLoadCompleted?.Invoke();
            return(result);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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));
        }
Пример #5
0
        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);
        }
Пример #8
0
        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);
        }
Пример #9
0
 private void InvokeOnScriptLoadStarted()
 {
     IsLoadingScripts = true;
     OnScriptLoadStarted?.Invoke();
 }