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

ResizeArrays() static private method

static private ResizeArrays ( ) : void
return void
        internal static void ResizeArrays()
        {
            Array.Resize(ref Main.projectileLoaded, nextProjectile);
            Array.Resize(ref Main.projectileTexture, nextProjectile);
            Array.Resize(ref Main.projHostile, nextProjectile);
            Array.Resize(ref Main.projHook, nextProjectile);
            Array.Resize(ref Main.projFrames, nextProjectile);
            Array.Resize(ref Main.projPet, nextProjectile);
            Array.Resize(ref ProjectileID.Sets.YoyosLifeTimeMultiplier, nextProjectile);
            Array.Resize(ref ProjectileID.Sets.YoyosMaximumRange, nextProjectile);
            Array.Resize(ref ProjectileID.Sets.YoyosTopSpeed, nextProjectile);
            Array.Resize(ref ProjectileID.Sets.CanDistortWater, nextProjectile);
            Array.Resize(ref ProjectileID.Sets.MinionShot, nextProjectile);
            Array.Resize(ref ProjectileID.Sets.SentryShot, nextProjectile);
            Array.Resize(ref ProjectileID.Sets.ForcePlateDetection, nextProjectile);
            Array.Resize(ref ProjectileID.Sets.TrailingMode, nextProjectile);
            Array.Resize(ref ProjectileID.Sets.TrailCacheLength, nextProjectile);
            Array.Resize(ref ProjectileID.Sets.LightPet, nextProjectile);
            Array.Resize(ref ProjectileID.Sets.Homing, nextProjectile);
            Array.Resize(ref ProjectileID.Sets.IsADD2Turret, nextProjectile);
            Array.Resize(ref ProjectileID.Sets.TurretFeature, nextProjectile);
            Array.Resize(ref ProjectileID.Sets.MinionTargettingFeature, nextProjectile);
            Array.Resize(ref ProjectileID.Sets.MinionSacrificable, nextProjectile);
            Array.Resize(ref ProjectileID.Sets.DontAttachHideToAlpha, nextProjectile);
            Array.Resize(ref ProjectileID.Sets.NeedsUUID, nextProjectile);
            Array.Resize(ref ProjectileID.Sets.StardustDragon, nextProjectile);
            Array.Resize(ref ProjectileID.Sets.NoLiquidDistortion, nextProjectile);
            for (int k = ProjectileID.Count; k < nextProjectile; k++)
            {
                ProjectileID.Sets.YoyosLifeTimeMultiplier[k] = -1;
                ProjectileID.Sets.YoyosMaximumRange[k] = 200f;
                ProjectileID.Sets.YoyosTopSpeed[k] = 10f;
                ProjectileID.Sets.CanDistortWater[k] = true;
                Main.projectileLoaded[k] = true;
                Main.projFrames[k] = 1;
                ProjectileID.Sets.TrailingMode[k] = -1;
                ProjectileID.Sets.TrailCacheLength[k] = 10;
            }
            Array.Resize(ref Projectile.perIDStaticNPCImmunity, nextProjectile);
            for (int i = 0; i < nextProjectile; i++)
            {
                Projectile.perIDStaticNPCImmunity[i] = new int[200];
            }

            ModLoader.BuildGlobalHook(ref HookSetDefaults, globalProjectiles, g => g.SetDefaults);
            ModLoader.BuildGlobalHook(ref HookPreAI, globalProjectiles, g => g.PreAI);
            ModLoader.BuildGlobalHook(ref HookAI, globalProjectiles, g => g.AI);
            ModLoader.BuildGlobalHook(ref HookPostAI, globalProjectiles, g => g.PostAI);
            ModLoader.BuildGlobalHook(ref HookShouldUpdatePosition, globalProjectiles, g => g.ShouldUpdatePosition);
            ModLoader.BuildGlobalHook(ref HookTileCollideStyle, globalProjectiles, g => g.TileCollideStyle);
            ModLoader.BuildGlobalHook(ref HookOnTileCollide, globalProjectiles, g => g.OnTileCollide);
            ModLoader.BuildGlobalHook(ref HookCanCutTiles, globalProjectiles, g => g.CanCutTiles);
            ModLoader.BuildGlobalHook(ref HookPreKill, globalProjectiles, g => g.PreKill);
            ModLoader.BuildGlobalHook(ref HookKill, globalProjectiles, g => g.Kill);
            ModLoader.BuildGlobalHook(ref HookCanDamage, globalProjectiles, g => g.CanDamage);
            ModLoader.BuildGlobalHook(ref HookMinionContactDamage, globalProjectiles, g => g.MinionContactDamage);
            ModLoader.BuildGlobalHook(ref HookCanHitNPC, globalProjectiles, g => g.CanHitNPC);
            ModLoader.BuildGlobalHook(ref HookModifyHitNPC, globalProjectiles, g => g.ModifyHitNPC);
            ModLoader.BuildGlobalHook(ref HookOnHitNPC, globalProjectiles, g => g.OnHitNPC);
            ModLoader.BuildGlobalHook(ref HookCanHitPvp, globalProjectiles, g => g.CanHitPvp);
            ModLoader.BuildGlobalHook(ref HookModifyHitPvp, globalProjectiles, g => g.ModifyHitPvp);
            ModLoader.BuildGlobalHook(ref HookOnHitPvp, globalProjectiles, g => g.OnHitPvp);
            ModLoader.BuildGlobalHook(ref HookCanHitPlayer, globalProjectiles, g => g.CanHitPlayer);
            ModLoader.BuildGlobalHook(ref HookModifyHitPlayer, globalProjectiles, g => g.ModifyHitPlayer);
            ModLoader.BuildGlobalHook(ref HookOnHitPlayer, globalProjectiles, g => g.OnHitPlayer);
            ModLoader.BuildGlobalHook(ref HookColliding, globalProjectiles, g => g.Colliding);
            ModLoader.BuildGlobalHook(ref HookGetAlpha, globalProjectiles, g => g.GetAlpha);
            ModLoader.BuildGlobalHook(ref HookPreDrawExtras, globalProjectiles, g => g.PreDrawExtras);
            ModLoader.BuildGlobalHook(ref HookPreDraw, globalProjectiles, g => g.PreDraw);
            ModLoader.BuildGlobalHook(ref HookPostDraw, globalProjectiles, g => g.PostDraw);
            ModLoader.BuildGlobalHook(ref HookCanUseGrapple, globalProjectiles, g => g.CanUseGrapple);
            ModLoader.BuildGlobalHook(ref HookSingleGrappleHook, globalProjectiles, g => g.SingleGrappleHook);
            ModLoader.BuildGlobalHook(ref HookUseGrapple, globalProjectiles, g => g.UseGrapple);
            ModLoader.BuildGlobalHook(ref HookNumGrappleHooks, globalProjectiles, g => g.NumGrappleHooks);
            ModLoader.BuildGlobalHook(ref HookGrappleRetreatSpeed, globalProjectiles, g => g.GrappleRetreatSpeed);
            ModLoader.BuildGlobalHook(ref HookDrawBehind, globalProjectiles, g => g.DrawBehind);
        }

Usage Example

Beispiel #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.ProjectileLoader::ResizeArrays