Example #1
0
        internal void Awake()
        {
            if (done)
            {
                return;
            }

            List <LoadingSystem> list = LoadingScreen.Instance.loaders;

            if (list != null)
            {
                int partLoaderIdx = 0;
                while (partLoaderIdx < list.Count)
                {
                    if (list[partLoaderIdx].GetType() == typeof(PartLoader))
                    {
                        Log.info("PartLoader loader found, injecting mod loaders before it");
                        GameObject       go = new GameObject("GimbalRearranger");
                        Rearranger       ra = go.AddComponent <Rearranger>();
                        CSurfaceReplacer re = go.AddComponent <CSurfaceReplacer>();
                        list.Insert(partLoaderIdx, ra);
                        list.Insert(partLoaderIdx, re);
                        break;
                    }
                    partLoaderIdx++;
                }
                if (partLoaderIdx == list.Count)
                {
                    Log.error("PartLoader loader not found, unable to rearrange gimbals");
                }
            }

            DontDestroyOnLoad(this);
        }
Example #2
0
        internal void Awake()
        {
            if (done)
            {
                return;
            }

            List <LoadingSystem> list = LoadingScreen.Instance.loaders;

            if (list != null)
            {
                GameObject       go = new GameObject("GimbalRearranger");
                Rearranger       ra = go.AddComponent <Rearranger>();
                CSurfaceReplacer re = go.AddComponent <CSurfaceReplacer>();
                list.Insert(list.Count - 1, ra);
                list.Insert(list.Count - 1, re);
            }

            DontDestroyOnLoad(this);
        }