private void SetupItemAPI(AssetBundle expandSharedAssets1) { if (!ItemAPISetup) { try { Tools.Init(); ItemBuilder.Init(); BabyGoodHammer.Init(expandSharedAssets1); CorruptionBomb.Init(expandSharedAssets1); if (ExpandSettings.EnableBloodiedScarfFix) { ExpandRedScarf.Init(expandSharedAssets1); } TableTechAssassin.Init(expandSharedAssets1); CorruptedJunk.Init(expandSharedAssets1); BootlegGuns.Init(expandSharedAssets1); CronenbergBullets.Init(expandSharedAssets1); Mimiclay.Init(expandSharedAssets1); TheLeadKey.Init(expandSharedAssets1); RockSlide.Init(expandSharedAssets1); CustomMasterRounds.Init(expandSharedAssets1); WoodenCrest.Init(expandSharedAssets1); BulletKinGun.Init(); BabySitter.Init(expandSharedAssets1); PowBlock.Init(expandSharedAssets1); CursedBrick.Init(expandSharedAssets1); SonicRing.Init(expandSharedAssets1); SonicBox.Init(expandSharedAssets1); WestBrosRevolverGenerator.Init(); HotShotShotGun.Init(); // Setup Custom Synergies. Do this after all custom items have been Init!; ExpandSynergies.Init(); ItemAPISetup = true; } catch (Exception e2) { Tools.PrintException(e2, "FF0000"); } } }
private void SetupItemAPI() { if (!ItemAPISetup) { try { AssetBundle expandSharedAssets1 = ResourceManager.LoadAssetBundle("ExpandSharedAuto"); Tools.Init(); ItemBuilder.Init(); BabyGoodHammer.Init(expandSharedAssets1); CorruptionBomb.Init(expandSharedAssets1); ExpandRedScarf.Init(expandSharedAssets1); TableTechAssassin.Init(expandSharedAssets1); CorruptedJunk.Init(expandSharedAssets1); BootlegGuns.Init(); CronenbergBullets.Init(expandSharedAssets1); Mimiclay.Init(expandSharedAssets1); TheLeadKey.Init(expandSharedAssets1); // TableTechExpand.Init(); RockSlide.Init(expandSharedAssets1); CustomMasterRounds.Init(expandSharedAssets1); WoodenCrest.Init(expandSharedAssets1); BulletKinGun.Init(); BabySitter.Init(expandSharedAssets1); PowBlock.Init(expandSharedAssets1); // Setup Custom Synergies. Do this after all custom items have been Init!; ExpandSynergies.Init(); expandSharedAssets1 = null; ItemAPISetup = true; } catch (Exception e2) { Tools.PrintException(e2, "FF0000"); } } }
public override void Start() { if (!string.IsNullOrEmpty(ExceptionText) | !string.IsNullOrEmpty(ExceptionText2)) { if (!string.IsNullOrEmpty(ExceptionText)) { ETGModConsole.Log(ExceptionText); } if (!string.IsNullOrEmpty(ExceptionText2)) { ETGModConsole.Log(ExceptionText2); } return; } ExpandSharedHooks.InstallRequiredHooks(); AssetBundle expandSharedAssets1 = ResourceManager.LoadAssetBundle(ModAssetBundleName); AssetBundle sharedAssets = ResourceManager.LoadAssetBundle("shared_auto_001"); AssetBundle sharedAssets2 = ResourceManager.LoadAssetBundle("shared_auto_002"); AssetBundle braveResources = ResourceManager.LoadAssetBundle("brave_resources_001"); AssetBundle enemiesBase = ResourceManager.LoadAssetBundle("enemies_base_001"); ExpandAssets.InitAudio(expandSharedAssets1, ModSoundBankName); ExpandObjectDatabase.BuildDatabase(); // Init Custom GameLevelDefinitions ExpandCustomDungeonPrefabs.InitCustomGameLevelDefinitions(braveResources); // Init Custom Sprite Collections ExpandPrefabs.InitSpriteCollections(expandSharedAssets1); ExpandCustomEnemyDatabase.InitSpriteCollections(expandSharedAssets1); // Init ItemAPI SetupItemAPI(expandSharedAssets1); try { // Init Prefab Databases ExpandPrefabs.InitCustomPrefabs(expandSharedAssets1, sharedAssets, sharedAssets2, braveResources, enemiesBase); // Init Custom Enemy Prefabs ExpandCustomEnemyDatabase.InitPrefabs(expandSharedAssets1); // Init Custom Room Prefabs ExpandRoomPrefabs.InitCustomRooms(expandSharedAssets1, sharedAssets, sharedAssets2, braveResources, enemiesBase); // Init Custom DungeonFlow(s) ExpandDungeonFlow.InitDungeonFlows(sharedAssets2); // Post Init // Things that need existing stuff created first have code run here BootlegGuns.PostInit(); // Dungeon Prefabs ExpandCustomDungeonPrefabs.InitDungoenPrefabs(expandSharedAssets1, sharedAssets, sharedAssets2, braveResources); ExpandLists.InvalidRatFloorRainRooms = new List <string>() { ExpandRoomPrefabs.SecretBossRoom.name, ExpandRoomPrefabs.ThwompCrossingVerticalNoRain.name, ExpandRoomPrefabs.SecretRewardRoom.name, ExpandPrefabs.DragunBossFoyerRoom.name, ExpandPrefabs.DraGunExitRoom.name, ExpandPrefabs.DraGunEndTimesRoom.name, ExpandPrefabs.BlacksmithShop.name, "Zelda Puzzle Room 1", "Zelda Puzzle Room 2", "Zelda Puzzle Room 3", "Special Entrance" }; } catch (Exception ex) { ETGModConsole.Log("[ExpandTheGungeon] ERROR: Exception occured while building prefabs!", true); Debug.LogException(ex); expandSharedAssets1 = null; sharedAssets = null; sharedAssets2 = null; braveResources = null; enemiesBase = null; return; } // Modified version of Anywhere mod DungeonFlowModule.Install(); InitConsoleCommands(ConsoleCommandName); GameManager.Instance.StartCoroutine(WaitForFoyerLoad()); if (ExpandSettings.EnableLanguageFix) { GameManager.Options.CurrentLanguage = StringTableManager.GungeonSupportedLanguages.ENGLISH; StringTableManager.CurrentLanguage = StringTableManager.GungeonSupportedLanguages.ENGLISH; } // Null bundles when done with them to avoid game crash issues expandSharedAssets1 = null; sharedAssets = null; sharedAssets2 = null; braveResources = null; enemiesBase = null; }
public override void Start() { if (!string.IsNullOrEmpty(ExceptionText)) { ETGModConsole.Log(ExceptionText); return; } ExpandSharedHooks.InstallRequiredHooks(); // Init ItemAPI SetupItemAPI(); try { // Init Prefab Databases ExpandPrefabs.InitCustomPrefabs(); // Init Custom Enemy Prefabs ExpandCustomEnemyDatabase.InitPrefabs(); // Init Custom Room Prefabs ExpandRoomPrefabs.InitCustomRooms(); // Init Custom DungeonFlow(s) ExpandDungeonFlow.InitDungeonFlows(); // Init Custom Dungeons Prefabs ExpandCustomDungeonPrefabs.InitCustomDungeons(); // Post Init // Things thta need existing stuff created first have code run here BootlegGuns.PostInit(); ExpandLists.InvalidRatFloorRainRooms = new List <string>() { ExpandRoomPrefabs.SecretBossRoom.name, ExpandRoomPrefabs.ThwompCrossingVerticalNoRain.name, ExpandRoomPrefabs.SecretRewardRoom.name, ExpandPrefabs.DragunBossFoyerRoom.name, ExpandPrefabs.DraGunExitRoom.name, ExpandPrefabs.DraGunEndTimesRoom.name, ExpandPrefabs.BlacksmithShop.name, "Zelda Puzzle Room 1", "Zelda Puzzle Room 2", "Zelda Puzzle Room 3", "Special Entrance" }; } catch (Exception ex) { ETGModConsole.Log("[ExpandTheGungeon] ERROR: Exception occured while building prefabs!", true); Debug.LogException(ex); ExpandPrefabs.sharedAssets = null; ExpandPrefabs.sharedAssets2 = null; ExpandPrefabs.braveResources = null; ExpandPrefabs.enemiesBase = null; return; } // Modified version of Anywhere mod DungeonFlowModule.Install(); InitConsoleCommands(ConsoleCommandName); // Null bundles when done with them to avoid game crash issues. ExpandPrefabs.sharedAssets = null; ExpandPrefabs.sharedAssets2 = null; ExpandPrefabs.braveResources = null; ExpandPrefabs.enemiesBase = null; }