コード例 #1
0
 public void Invisible(Projectile proj, float f)
 {
     if (proj != null && proj.sprite != null)
     {
         proj.sprite.renderer.enabled = false;
     }
     if (proj.GetComponentInChildren <TrailController>() != null)
     {
         Destroy(proj.GetComponentInChildren <TrailController>());
     }
     proj.StartCoroutine(this.DelayedDestroyParticles(proj));
     if (proj.ParticleTrail != null)
     {
         BraveUtility.EnableEmission(proj.ParticleTrail, false);
     }
     if (proj.particleSystem != null)
     {
         Destroy(proj.particleSystem);
     }
     if (proj.CustomTrailRenderer != null)
     {
         proj.CustomTrailRenderer.enabled = false;
     }
     if (proj.TrailRenderer != null)
     {
         proj.TrailRenderer.enabled = false;
     }
     if (proj.TrailRendererController != null)
     {
         proj.TrailRendererController.enabled = false;
     }
 }
コード例 #2
0
        private void homingRing()
        {
            Projectile projectile = ((Gun)ETGMod.Databases.Items[146]).DefaultModule.projectiles[0];
            GameObject obj1       = SpawnManager.SpawnProjectile(projectile.gameObject, base.Owner.sprite.WorldCenter, Quaternion.Euler(0f, 0f, (base.Owner.CurrentGun == null) ? 0f : base.Owner.FacingDirection), true);
            Projectile proj1      = obj1.GetComponent <Projectile>();

            proj1.Owner            = base.gameActor;
            proj1.Shooter          = base.Owner.specRigidbody;
            proj1.shouldRotate     = true;
            proj1.baseData.speed  *= 0.15f;
            proj1.angularVelocity  = -270f;
            proj1.baseData.damage *= 4f;
            PierceProjModifier poke = proj1.GetComponent <PierceProjModifier>();

            if (proj1.GetComponent <PierceProjModifier>() == null)
            {
                proj1.gameObject.AddComponent <PierceProjModifier>();
                poke.MaxBossImpacts = 3;
                poke.penetration    = 6;
            }
            //proj1.specRigidbody.CollideWithTileMap = false;
            HomingModifier homingModifier = proj1.gameObject.GetComponent <HomingModifier>();

            if (homingModifier == null)
            {
                homingModifier = proj1.gameObject.AddComponent <HomingModifier>();
                homingModifier.HomingRadius    = 10f;
                homingModifier.AngularVelocity = 270f;
            }
            proj1.gameObject.AddComponent <KillOnRoomClear>();
            bool flag = proj1 != null && proj1.sprite != null;

            if (flag)
            {
                proj1.sprite.renderer.enabled = false;
            }
            bool flag2 = proj1.GetComponentInChildren <TrailController>() != null;

            if (flag2)
            {
                UnityEngine.Object.Destroy(proj1.GetComponentInChildren <TrailController>());
            }
            proj1.StartCoroutine(this.DelayedDestroyParticles(proj1));
            bool flag3 = proj1.ParticleTrail != null;

            if (flag3)
            {
                BraveUtility.EnableEmission(proj1.particleSystem, false);
            }
            bool flag4 = proj1.particleSystem != null;

            if (flag4)
            {
                UnityEngine.Object.Destroy(proj1.particleSystem);
            }
            bool flag5 = proj1.CustomTrailRenderer != null;

            if (flag5)
            {
                proj1.CustomTrailRenderer.enabled = false;
            }
            bool flag6 = proj1.TrailRenderer != null;

            if (flag6)
            {
                proj1.TrailRenderer.enabled = false;
            }
            bool flag7 = proj1.TrailRendererController != null;

            if (flag7)
            {
                proj1.TrailRendererController.enabled = false;
            }
            for (int i = 0; i < 18; i++)
            {
                GameObject obj2  = SpawnManager.SpawnProjectile(projectile.gameObject, proj1.sprite.WorldCenter + BraveMathCollege.DegreesToVector(i * 20, 2), Quaternion.Euler(0f, 0f, (base.Owner.CurrentGun == null) ? 0f : i * 20f), true);
                Projectile proj2 = obj2.GetComponent <Projectile>();
                proj2.Owner = base.gameActor;
                PierceProjModifier poke2 = proj2.GetComponent <PierceProjModifier>();
                if (proj2.GetComponent <PierceProjModifier>() == null)
                {
                    proj2.gameObject.AddComponent <PierceProjModifier>();
                    poke2.MaxBossImpacts = 3;
                    poke2.penetration    = 6;
                }
                //proj2.specRigidbody.CollideWithTileMap = false;
                proj2.Shooter          = base.Owner.specRigidbody;
                proj2.baseData.speed   = 0f;
                proj2.baseData.damage *= 4f;
                proj2.transform.SetParent(proj1.transform);
            }
        }