Пример #1
0
        private static void SceneLoaded(Scene scene, LoadSceneMode loadSceneMode)
        {
            if (!StudioLoaded && scene.name == "Studio")
            {
                StudioLoaded = true;

                if (StudioLoadedChanged != null)
                {
                    foreach (var callback in StudioLoadedChanged.GetInvocationList())
                    {
                        try
                        {
                            ((EventHandler)callback)(KoikatuAPI.Instance, EventArgs.Empty);
                        }
                        catch (Exception e)
                        {
                            KoikatuAPI.Logger.LogError(e);
                        }
                    }
                }

                foreach (var cat in _customCurrentStateCategories)
                {
                    CreateCategory(cat);
                }
            }
        }
Пример #2
0
        private static void SceneLoaded(Scene scene, LoadSceneMode loadSceneMode)
#endif
        {
            if (!StudioLoaded && scene.name == "Studio")
            {
                StudioLoaded = true;

                if (StudioLoadedChanged != null)
                {
                    foreach (var callback in StudioLoadedChanged.GetInvocationList())
                    {
                        try
                        {
                            ((EventHandler)callback)(KoikatuAPI.Instance, EventArgs.Empty);
                        }
                        catch (Exception e)
                        {
                            KoikatuAPI.Logger.LogError(e);
                        }
                    }
                }

                // Delay to let plugins not using the api create their toggles so we don't overlap
                KoikatuAPI.Instance.StartCoroutine(DelayedLoadCo());
                IEnumerator DelayedLoadCo()
                {
                    yield return(null);

                    foreach (var cat in _customCurrentStateCategories)
                    {
                        CreateCategory(cat);
                    }

                    yield return(null); // todo Only needed for compat with QAB. Can remove once QAB is using this API

                    CustomToolbarButtons.OnStudioLoaded();
                }
            }
        }