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); }
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); }