static bool TitleScreenLoader_LoadTitleScreen_Pre(TitleScreenLoader __instance, ref OTWStoreAPI.DLCs _dlc) { #region quit if (_titleScreenRandomize.Value == 0) { return(true); } #endregion var DLCs = new List <OTWStoreAPI.DLCs>(); foreach (var flag in Utility.GetEnumValues <TitleScreens>()) { if (_titleScreenRandomize.Value.HasFlag(flag)) { switch (flag) { case TitleScreens.Vanilla: DLCs.Add(OTWStoreAPI.DLCs.None); break; case TitleScreens.TheSoroboreans: DLCs.Add(OTWStoreAPI.DLCs.Soroboreans); break; case TitleScreens.TheThreeBrothers: DLCs.Add(OTWStoreAPI.DLCs.DLC2); break; } } } _dlc = DLCs.Random(); return(true); }
static IEnumerator TitleScreenLoader_LoadTitleScreenCoroutine_Post(IEnumerator original, TitleScreenLoader __instance) { while (original.MoveNext()) { yield return(original.Current); } #region quit if (_titleScreenHideCharacters.Value == TitleScreenCharacterVisibility.Enable) { yield break; } #endregion bool state = true; switch (_titleScreenHideCharacters.Value) { case TitleScreenCharacterVisibility.Disable: state = false; break; case TitleScreenCharacterVisibility.Randomize: state = System.DateTime.Now.Ticks % 2 == 0; break; } foreach (var characterVisuals in __instance.transform.GetAllComponentsInHierarchy <CharacterVisuals>()) { characterVisuals.GOSetActive(state); } }