Terraria.ModLoader.NPCLoader.ResizeArrays C# (CSharp) Method

ResizeArrays() static private method

static private ResizeArrays ( bool unloading ) : void
unloading bool
return void
        internal static void ResizeArrays(bool unloading)
        {
            Array.Resize(ref Main.NPCLoaded, nextNPC);
            Array.Resize(ref Main.nextNPC, nextNPC);
            Array.Resize(ref Main.slimeRainNPC, nextNPC);
            Array.Resize(ref Main.npcTexture, nextNPC);
            Array.Resize(ref Main.npcAltTextures, nextNPC);
            Array.Resize(ref Main.npcCatchable, nextNPC);
            Array.Resize(ref Main.npcName, nextNPC);
            Array.Resize(ref Main.npcNameEnglish, nextNPC);
            Array.Resize(ref Main.npcFrameCount, nextNPC);
            Array.Resize(ref NPC.killCount, nextNPC);
            Array.Resize(ref NPC.npcsFoundForCheckActive, nextNPC);
            Array.Resize(ref EmoteBubble.CountNPCs, nextNPC);
            Array.Resize(ref NPCID.Sets.TrailingMode, nextNPC);
            Array.Resize(ref NPCID.Sets.BelongsToInvasionOldOnesArmy, nextNPC);
            Array.Resize(ref NPCID.Sets.TeleportationImmune, nextNPC);
            Array.Resize(ref NPCID.Sets.UsesNewTargetting, nextNPC);
            Array.Resize(ref NPCID.Sets.FighterUsesDD2PortalAppearEffect, nextNPC);
            Array.Resize(ref NPCID.Sets.StatueSpawnedDropRarity, nextNPC);
            Array.Resize(ref NPCID.Sets.NoEarlymodeLootWhenSpawnedFromStatue, nextNPC);
            Array.Resize(ref NPCID.Sets.NeedsExpertScaling, nextNPC);
            Array.Resize(ref NPCID.Sets.ProjectileNPC, nextNPC);
            Array.Resize(ref NPCID.Sets.SavesAndLoads, nextNPC);
            Array.Resize(ref NPCID.Sets.TrailCacheLength, nextNPC);
            Array.Resize(ref NPCID.Sets.MPAllowedEnemies, nextNPC);
            Array.Resize(ref NPCID.Sets.TownCritter, nextNPC);
            Array.Resize(ref NPCID.Sets.HatOffsetY, nextNPC);
            Array.Resize(ref NPCID.Sets.FaceEmote, nextNPC);
            Array.Resize(ref NPCID.Sets.ExtraFramesCount, nextNPC);
            Array.Resize(ref NPCID.Sets.AttackFrameCount, nextNPC);
            Array.Resize(ref NPCID.Sets.DangerDetectRange, nextNPC);
            Array.Resize(ref NPCID.Sets.AttackTime, nextNPC);
            Array.Resize(ref NPCID.Sets.AttackAverageChance, nextNPC);
            Array.Resize(ref NPCID.Sets.AttackType, nextNPC);
            Array.Resize(ref NPCID.Sets.PrettySafe, nextNPC);
            Array.Resize(ref NPCID.Sets.MagicAuraColor, nextNPC);
            Array.Resize(ref NPCID.Sets.BossHeadTextures, nextNPC);
            Array.Resize(ref NPCID.Sets.ExcludedFromDeathTally, nextNPC);
            Array.Resize(ref NPCID.Sets.TechnicallyABoss, nextNPC);
            Array.Resize(ref NPCID.Sets.MustAlwaysDraw, nextNPC);
            Array.Resize(ref NPCID.Sets.ExtraTextureCount, nextNPC);
            Array.Resize(ref NPCID.Sets.NPCFramingGroup, nextNPC);
            Array.Resize(ref NPCID.Sets.TownNPCsFramingGroups, nextNPC);
            for (int k = NPCID.Count; k < nextNPC; k++)
            {
                Main.NPCLoaded[k] = true;
                Main.npcFrameCount[k] = 1;
                NPCID.Sets.TrailingMode[k] = -1;
                NPCID.Sets.StatueSpawnedDropRarity[k] = -1f;
                NPCID.Sets.TrailCacheLength[k] = 10;
                NPCID.Sets.DangerDetectRange[k] = -1;
                NPCID.Sets.AttackTime[k] = -1;
                NPCID.Sets.AttackAverageChance[k] = 1;
                NPCID.Sets.AttackType[k] = -1;
                NPCID.Sets.PrettySafe[k] = -1;
                NPCID.Sets.MagicAuraColor[k] = Color.White;
                NPCID.Sets.BossHeadTextures[k] = -1;
            }

            ModLoader.BuildGlobalHook(ref HookSetDefaults, globalNPCs, g => g.SetDefaults);
            ModLoader.BuildGlobalHook(ref HookScaleExpertStats, globalNPCs, g => g.ScaleExpertStats);
            ModLoader.BuildGlobalHook(ref HookResetEffects, globalNPCs, g => g.ResetEffects);
            ModLoader.BuildGlobalHook(ref HookPreAI, globalNPCs, g => g.PreAI);
            ModLoader.BuildGlobalHook(ref HookAI, globalNPCs, g => g.AI);
            ModLoader.BuildGlobalHook(ref HookPostAI, globalNPCs, g => g.PostAI);
            ModLoader.BuildGlobalHook(ref HookFindFrame, globalNPCs, g => g.FindFrame);
            ModLoader.BuildGlobalHook(ref HookHitEffect, globalNPCs, g => g.HitEffect);
            ModLoader.BuildGlobalHook(ref HookUpdateLifeRegen, globalNPCs, g => g.UpdateLifeRegen);
            ModLoader.BuildGlobalHook(ref HookCheckActive, globalNPCs, g => g.CheckActive);
            ModLoader.BuildGlobalHook(ref HookCheckDead, globalNPCs, g => g.CheckDead);
            ModLoader.BuildGlobalHook(ref HookPreNPCLoot, globalNPCs, g => g.PreNPCLoot);
            ModLoader.BuildGlobalHook(ref HookNPCLoot, globalNPCs, g => g.NPCLoot);
            ModLoader.BuildGlobalHook(ref HookCanHitPlayer, globalNPCs, g => g.CanHitPlayer);
            ModLoader.BuildGlobalHook(ref HookModifyHitPlayer, globalNPCs, g => g.ModifyHitPlayer);
            ModLoader.BuildGlobalHook(ref HookOnHitPlayer, globalNPCs, g => g.OnHitPlayer);
            ModLoader.BuildGlobalHook(ref HookCanHitNPC, globalNPCs, g => g.CanHitNPC);
            ModLoader.BuildGlobalHook(ref HookModifyHitNPC, globalNPCs, g => g.ModifyHitNPC);
            ModLoader.BuildGlobalHook(ref HookOnHitNPC, globalNPCs, g => g.OnHitNPC);
            ModLoader.BuildGlobalHook(ref HookCanBeHitByItem, globalNPCs, g => g.CanBeHitByItem);
            ModLoader.BuildGlobalHook(ref HookModifyHitByItem, globalNPCs, g => g.ModifyHitByItem);
            ModLoader.BuildGlobalHook(ref HookOnHitByItem, globalNPCs, g => g.OnHitByItem);
            ModLoader.BuildGlobalHook(ref HookCanBeHitByProjectile, globalNPCs, g => g.CanBeHitByProjectile);
            ModLoader.BuildGlobalHook(ref HookModifyHitByProjectile, globalNPCs, g => g.ModifyHitByProjectile);
            ModLoader.BuildGlobalHook(ref HookOnHitByProjectile, globalNPCs, g => g.OnHitByProjectile);
            ModLoader.BuildGlobalHook(ref HookStrikeNPC, globalNPCs, g => g.StrikeNPC);
            ModLoader.BuildGlobalHook(ref HookBossHeadSlot, globalNPCs, g => g.BossHeadSlot);
            ModLoader.BuildGlobalHook(ref HookBossHeadRotation, globalNPCs, g => g.BossHeadRotation);
            ModLoader.BuildGlobalHook(ref HookBossHeadSpriteEffects, globalNPCs, g => g.BossHeadSpriteEffects);
            ModLoader.BuildGlobalHook(ref HookGetAlpha, globalNPCs, g => g.GetAlpha);
            ModLoader.BuildGlobalHook(ref HookDrawEffects, globalNPCs, g => g.DrawEffects);
            ModLoader.BuildGlobalHook(ref HookPreDraw, globalNPCs, g => g.PreDraw);
            ModLoader.BuildGlobalHook(ref HookPostDraw, globalNPCs, g => g.PostDraw);
            ModLoader.BuildGlobalHook(ref HookDrawHealthBar, globalNPCs, g => g.DrawHealthBar);
            ModLoader.BuildGlobalHook(ref HookEditSpawnRate, globalNPCs, g => g.EditSpawnRate);
            ModLoader.BuildGlobalHook(ref HookEditSpawnRange, globalNPCs, g => g.EditSpawnRange);
            ModLoader.BuildGlobalHook(ref HookEditSpawnPool, globalNPCs, g => g.EditSpawnPool);
            ModLoader.BuildGlobalHook(ref HookSpawnNPC, globalNPCs, g => g.SpawnNPC);
            ModLoader.BuildGlobalHook(ref HookGetChat, globalNPCs, g => g.GetChat);
            ModLoader.BuildGlobalHook(ref HookSetupShop, globalNPCs, g => g.SetupShop);
            ModLoader.BuildGlobalHook(ref HookSetupTravelShop, globalNPCs, g => g.SetupTravelShop);
            ModLoader.BuildGlobalHook(ref HookBuffTownNPC, globalNPCs, g => g.BuffTownNPC);
            ModLoader.BuildGlobalHook(ref HookTownNPCAttackStrength, globalNPCs, g => g.TownNPCAttackStrength);
            ModLoader.BuildGlobalHook(ref HookTownNPCAttackCooldown, globalNPCs, g => g.TownNPCAttackCooldown);
            ModLoader.BuildGlobalHook(ref HookTownNPCAttackProj, globalNPCs, g => g.TownNPCAttackProj);
            ModLoader.BuildGlobalHook(ref HookTownNPCAttackProjSpeed, globalNPCs, g => g.TownNPCAttackProjSpeed);
            ModLoader.BuildGlobalHook(ref HookTownNPCAttackShoot, globalNPCs, g => g.TownNPCAttackShoot);
            ModLoader.BuildGlobalHook(ref HookTownNPCAttackMagic, globalNPCs, g => g.TownNPCAttackMagic);
            ModLoader.BuildGlobalHook(ref HookTownNPCAttackSwing, globalNPCs, g => g.TownNPCAttackSwing);
            ModLoader.BuildGlobalHook(ref HookDrawTownAttackGun, globalNPCs, g => g.DrawTownAttackGun);
            ModLoader.BuildGlobalHook(ref HookDrawTownAttackSwing, globalNPCs, g => g.DrawTownAttackSwing);

            if (!unloading)
            {
                loaded = true;
            }
        }

Usage Example

Example #1
0
 private static void ResizeArrays(bool unloading = false)
 {
     ItemLoader.ResizeArrays(unloading);
     EquipLoader.ResizeAndFillArrays();
     ModPrefix.ResizeArrays();
     Main.InitializeItemAnimations();
     ModDust.ResizeArrays();
     TileLoader.ResizeArrays(unloading);
     WallLoader.ResizeArrays(unloading);
     ProjectileLoader.ResizeArrays();
     NPCLoader.ResizeArrays(unloading);
     NPCHeadLoader.ResizeAndFillArrays();
     ModGore.ResizeAndFillArrays();
     SoundLoader.ResizeAndFillArrays();
     MountLoader.ResizeArrays();
     BuffLoader.ResizeArrays();
     PlayerHooks.RebuildHooks();
     BackgroundTextureLoader.ResizeAndFillArrays();
     UgBgStyleLoader.ResizeAndFillArrays();
     SurfaceBgStyleLoader.ResizeAndFillArrays();
     GlobalBgStyleLoader.ResizeAndFillArrays(unloading);
     WaterStyleLoader.ResizeArrays();
     WaterfallStyleLoader.ResizeArrays();
     WorldHooks.ResizeArrays();
     foreach (LocalizedText text in LanguageManager.Instance._localizedTexts.Values)
     {
         text.Override = null;
     }
 }
All Usage Examples Of Terraria.ModLoader.NPCLoader::ResizeArrays