コード例 #1
0
ファイル: SwarmMovement.cs プロジェクト: wjacquet/Recoil
    IEnumerator SwarmAttacks()
    {
        // initial left movement
        StandardFireFunctions.FireLeft(gameObject, 48.0f);
        while (transform.position.x > 80)
        {
            yield return(null);
        }

        StartCoroutine(SwarmFire());

        while (true)
        {
            // movement left and right
            if (left)
            {
                StandardFireFunctions.FireLeft(gameObject, 48.0f);
                gameObject.transform.localScale = new Vector2(1, gameObject.transform.localScale.y);
            }
            else
            {
                StandardFireFunctions.FireRight(gameObject, 48.0f);
                gameObject.transform.localScale = new Vector2(-1, gameObject.transform.localScale.y);
            }

            // flip when wall is reached
            if ((transform.position.x > 120 && !left) || (transform.position.x < -100 && left))
            {
                left = !left;
            }

            yield return(null);
        }
    }
コード例 #2
0
 void Overload()
 {
     Instantiate(homingBall, transform.position, transform.rotation);
     StandardFireFunctions.FireAtPlayer(Instantiate(eyeshot, transform.position, transform.rotation));
     StandardFireFunctions.FireDegreeOffsetFromPlayer(Instantiate(eyeshot, transform.position, transform.rotation), 20);
     StandardFireFunctions.FireDegreeOffsetFromPlayer(Instantiate(eyeshot, transform.position, transform.rotation), -20);
 }
コード例 #3
0
ファイル: SwarmMovement.cs プロジェクト: wjacquet/Recoil
    IEnumerator SwarmFire()
    {
        while (true)
        {
            // homing shot
            for (int i = 0; i < 6; i++)
            {
                GameObject projectile = Instantiate(bullet, transform.position, transform.rotation);
                StandardFireFunctions.FireAtPlayer(projectile);

                yield return(new WaitForSeconds(3.0f));
            }

            yield return(new WaitForSeconds(1.0f));

            // electric fields
            for (int i = 0; i < 4; i++)
            {
                Vector3 electricPosition = new Vector3(player.transform.position.x, player.transform.position.y, -1);
                Instantiate(electricity, electricPosition, transform.rotation);

                yield return(new WaitForSeconds(3.0f));
            }
        }
    }
コード例 #4
0
 void Update()
 {
     if (proj != null)
     {
         StandardFireFunctions.FireAtPlayerWithSetSpeed(proj, shotSpeed);
     }
 }
コード例 #5
0
 IEnumerator FirstSpread()
 {
     StandardFireFunctions.FireAtPlayer(Instantiate(bullet, transform.position, transform.rotation));
     StandardFireFunctions.FireDegreeOffsetFromPlayer(Instantiate(bullet, transform.position, transform.rotation), firstSpreadDegree);
     StandardFireFunctions.FireDegreeOffsetFromPlayer(Instantiate(bullet, transform.position, transform.rotation), -firstSpreadDegree);
     yield return(null);
 }
コード例 #6
0
ファイル: ShipAttacks.cs プロジェクト: wjacquet/Recoil
    IEnumerator FirePhotonRight()
    {
        GameObject tempProj = Instantiate(photonProj, rightCannonPos, transform.rotation);

        StandardFireFunctions.FireDownFakeGravity(tempProj, 85);
        yield return(new WaitForSeconds(0.75f));
    }
コード例 #7
0
ファイル: MagneticBlock.cs プロジェクト: wjacquet/Recoil
 void Update()
 {
     if (magnet && touching && PlayerAbilities.magnet)
     {
         StandardFireFunctions.MagnetTowardsPlayer(block, magnetStrength);
     }
 }
コード例 #8
0
    IEnumerator Shoot()
    {
        GameObject proj = Instantiate(bullet, transform.position, transform.rotation);

        StandardFireFunctions.FireAtPlayer(proj);

        yield return(null);
    }
コード例 #9
0
ファイル: Clam.cs プロジェクト: wjacquet/Recoil
    IEnumerator Shoot(int i, int offsets)
    {
        for (; i <= 360; i += offsets)
        {
            StandardFireFunctions.FireDegreeOffset(Instantiate(bullet, transform.position, transform.rotation), i);
        }

        yield return(new WaitForSeconds(burstTime));
    }
コード例 #10
0
    IEnumerator shootPhoton()
    {
        GameObject proj = Instantiate(photonShot, projectileSpawnPos, transform.rotation);

        StandardFireFunctions.FireAtPlayer(proj);
        yield return(new WaitForSeconds(2.5f));

        newAttack = true;
        yield return(new WaitForSeconds(0.5f));
    }
コード例 #11
0
 void OnCollisionEnter2D(Collision2D collision)
 {
     if (collision.gameObject.tag == "Player")
     {
         playerHP.TakeDamage();
         jump = true;
         StandardFireFunctions.FireDegreeOffsetFromPlayer(hatcher, 180);
         StartCoroutine(Timer());
     }
 }
コード例 #12
0
ファイル: BugRoamer.cs プロジェクト: wjacquet/Recoil
    void Shoot()
    {
        GameObject newBull;

        for (int i = 0; i < 8; i++)
        {
            newBull = Instantiate(bullet, transform.position, transform.rotation);

            StandardFireFunctions.FireClusterAtPlayer(newBull);
        }
    }
コード例 #13
0
ファイル: ShipAttacks.cs プロジェクト: wjacquet/Recoil
    void GenerateClusterRight()
    {
        GameObject tempProj;

        for (int i = 0; i < 12; i++)
        {
            tempProj = Instantiate(proj, rightCannonPos, transform.rotation);

            StandardFireFunctions.FireClusterDown(tempProj);
        }
    }
コード例 #14
0
    void GenerateCluster()
    {
        GameObject tempProj;

        for (int i = 0; i < 12; i++)
        {
            tempProj = Instantiate(proj, transform.position, transform.rotation);

            StandardFireFunctions.FireClusterDown(tempProj);
        }
    }
コード例 #15
0
    // Update is called once per frame
    void Update()
    {
        // Make spider face player at all times
        facePlayer();

        // Move towards player
        if (!jump)
        {
            StandardFireFunctions.FireAtPlayerWithSetSpeed(hatcher, speed);
        }
    }
コード例 #16
0
ファイル: FloaterFire.cs プロジェクト: wjacquet/Recoil
    void ShootBasicProjectiles()
    {
        GameObject proj = Instantiate(gravity_proj, firingPositions[0], transform.rotation);

        StandardFireFunctions.FireRight(proj, 60);
        proj = Instantiate(gravity_proj, firingPositions[1], transform.rotation);
        StandardFireFunctions.FireLeft(proj, 60);
        proj = Instantiate(gravity_proj, firingPositions[2], transform.rotation);
        StandardFireFunctions.FireVeticallyDegreeOffset(proj, 10);
        proj = Instantiate(gravity_proj, firingPositions[2], transform.rotation);
        StandardFireFunctions.FireVeticallyDegreeOffset(proj, -10);
    }
コード例 #17
0
    IEnumerator Drop()
    {
        for (int i = 0; i < bulletsArray.Length; i++)
        {
            if (bulletsArray[i] != null)
            {
                StandardFireFunctions.FireDown(bulletsArray[i]);
            }
        }

        yield return(null);
    }
コード例 #18
0
ファイル: ShipAttacks.cs プロジェクト: wjacquet/Recoil
    IEnumerator FireThreeDRoundBurstLeft()
    {
        tempProj = Instantiate(proj, leftCannonPos, transform.rotation);
        StandardFireFunctions.FireAtPlayerWithSetSpeed(tempProj, 100);
        yield return(new WaitForSeconds(0.25f));

        tempProj = Instantiate(proj, leftCannonPos, transform.rotation);
        StandardFireFunctions.FireAtPlayerWithSetSpeed(tempProj, 100);
        yield return(new WaitForSeconds(0.25f));

        tempProj = Instantiate(proj, leftCannonPos, transform.rotation);
        StandardFireFunctions.FireAtPlayerWithSetSpeed(tempProj, 100);
    }
コード例 #19
0
ファイル: ShipAttacks.cs プロジェクト: wjacquet/Recoil
 IEnumerator FireThreeWaveBurstCenter()
 {
     for (int i = 0; i < 3; i++)
     {
         tempProj = Instantiate(proj, blasterPos, transform.rotation);
         StandardFireFunctions.FireDegreeOffsetFromPlayerSpeed(tempProj, 20, 100);
         tempProj = Instantiate(proj, blasterPos, transform.rotation);
         StandardFireFunctions.FireDegreeOffsetFromPlayerSpeed(tempProj, -20, 100);
         tempProj = Instantiate(proj, blasterPos, transform.rotation);
         StandardFireFunctions.FireAtPlayerWithSetSpeed(tempProj, 100);
         yield return(new WaitForSeconds(0.75f));
     }
 }
コード例 #20
0
ファイル: ShipAttacks.cs プロジェクト: wjacquet/Recoil
    IEnumerator FireRightWave()
    {
        int angle = -90;

        while (angle != 0)
        {
            tempProj = Instantiate(proj, rightCannonPos, transform.rotation);
            StandardFireFunctions.FireDownDegreeOffset(tempProj, angle, 100);
            angle += 5;
            yield return(new WaitForSeconds(0.2f));
        }
        yield return(null);
    }
コード例 #21
0
 void Update()
 {
     if (left)
     {
         StandardFireFunctions.FireLeft(gameObject, speed);
         gameObject.transform.localScale = new Vector2(1, gameObject.transform.localScale.y);
     }
     else
     {
         StandardFireFunctions.FireRight(gameObject, speed);
         gameObject.transform.localScale = new Vector2(-1, gameObject.transform.localScale.y);
     }
 }
コード例 #22
0
    IEnumerator shootSpread()
    {
        StandardFireFunctions.FireAtPlayer(Instantiate(projectile, projectileSpawnPos, transform.rotation));
        StandardFireFunctions.FireDegreeOffsetFromPlayer(Instantiate(projectile, projectileSpawnPos, transform.rotation), firstSpreadDegree);
        StandardFireFunctions.FireDegreeOffsetFromPlayer(Instantiate(projectile, projectileSpawnPos, transform.rotation), -firstSpreadDegree);
        yield return(new WaitForSeconds(1.5f));

        StandardFireFunctions.FireDegreeOffsetFromPlayer(Instantiate(projectile, projectileSpawnPos, transform.rotation), secondSpreadDegree);
        StandardFireFunctions.FireDegreeOffsetFromPlayer(Instantiate(projectile, projectileSpawnPos, transform.rotation), -secondSpreadDegree);
        yield return(new WaitForSeconds(1.0f));

        newAttack = true;
    }
コード例 #23
0
ファイル: SpriderShot.cs プロジェクト: wjacquet/Recoil
 void Shoot()
 {
     if ((typeCount / 60) % 2 == 0)
     {
         StandardFireFunctions.FireAtPlayer(Instantiate(bullet, transform.position, transform.rotation));
         StandardFireFunctions.FireDegreeOffsetFromPlayer(Instantiate(bullet, transform.position, transform.rotation), 20);
         StandardFireFunctions.FireDegreeOffsetFromPlayer(Instantiate(bullet, transform.position, transform.rotation), -20);
     }
     else
     {
         StandardFireFunctions.FireAtPlayer(Instantiate(bullet, transform.position, transform.rotation));
     }
 }
コード例 #24
0
ファイル: Chaser.cs プロジェクト: wjacquet/Recoil
 void OnCollisionEnter2D(Collision2D collision)
 {
     if (collision.gameObject.tag == "Player")
     {
         playerHP.TakeDamage();
         rotating = true;
         jump     = true;
         StandardFireFunctions.FireDegreeOffsetFromPlayer(hatcher, 180);
         StartCoroutine(Timer());
     }
     if (collision.gameObject.layer == 10 && rotating)   // Layer 10 == Ground
     {
         rotationVector = new Vector3(0, 0, -rotationVector.z);
     }
 }
コード例 #25
0
ファイル: Chaser.cs プロジェクト: wjacquet/Recoil
    // Update is called once per frame
    void Update()
    {
        // Make spider face player at all times
        facePlayer();

        // Move towards player
        if (!jump)
        {
            StandardFireFunctions.FireAtPlayerWithSetSpeed(hatcher, speed);
        }

        if (rotating)
        {
            transform.RotateAround(player.transform.position, rotationVector, 100 * Time.deltaTime);
        }
    }
コード例 #26
0
    IEnumerator Shoot()
    {
        Vector3 shootLower = new Vector3(transform.position.x, transform.position.y - 5, transform.position.z);

        for (int i = 0; i < bulletsArray.Length; i++)
        {
            bulletsArray[i] = Instantiate(bullet, shootLower, transform.rotation);
        }

        StandardFireFunctions.FireVetically(bulletsArray[0]);
        StandardFireFunctions.FireVeticallyDegreeOffset(bulletsArray[1], FirstDegreeOffset);
        StandardFireFunctions.FireVeticallyDegreeOffset(bulletsArray[2], -FirstDegreeOffset);
        StandardFireFunctions.FireVeticallyDegreeOffset(bulletsArray[3], SecondDegreeOffset);
        StandardFireFunctions.FireVeticallyDegreeOffset(bulletsArray[4], -SecondDegreeOffset);

        yield return(null);
    }
コード例 #27
0
    IEnumerator Shoot()
    {
        firing = true;
        GameObject proj = Instantiate(bullet, transform.position, transform.rotation);

        StandardFireFunctions.FireAtPlayer(proj);
        yield return(new WaitForSeconds(0.8f));

        proj = Instantiate(bullet, transform.position, transform.rotation);
        StandardFireFunctions.FireDegreeOffsetFromPlayer(proj, 8);
        yield return(new WaitForSeconds(0.8f));

        proj = Instantiate(bullet, transform.position, transform.rotation);
        StandardFireFunctions.FireDegreeOffsetFromPlayer(proj, -8);
        yield return(new WaitForSeconds(2.5f));

        firing = false;
    }
コード例 #28
0
ファイル: ShipAttacks.cs プロジェクト: wjacquet/Recoil
 IEnumerator LockWaves()
 {
     for (int i = 0; i < 20; i++)
     {
         tempProj = Instantiate(proj, blasterPos, transform.rotation);
         StandardFireFunctions.FireDownDegreeOffset(tempProj, 10, 100);
         tempProj = Instantiate(proj, blasterPos, transform.rotation);
         StandardFireFunctions.FireDownDegreeOffset(tempProj, -10, 100);
         tempProj = Instantiate(proj, blasterPos, transform.rotation);
         StandardFireFunctions.FireDownDegreeOffset(tempProj, 30, 100);
         tempProj = Instantiate(proj, blasterPos, transform.rotation);
         StandardFireFunctions.FireDownDegreeOffset(tempProj, -30, 100);
         tempProj = Instantiate(proj, blasterPos, transform.rotation);
         StandardFireFunctions.FireDownDegreeOffset(tempProj, 50, 100);
         tempProj = Instantiate(proj, blasterPos, transform.rotation);
         StandardFireFunctions.FireDownDegreeOffset(tempProj, -50, 100);
         yield return(new WaitForSeconds(0.2f));
     }
 }
コード例 #29
0
ファイル: ShipAttacks.cs プロジェクト: wjacquet/Recoil
    IEnumerator FireWaves()
    {
        tempProj = Instantiate(proj, blasterPos, transform.rotation);
        StandardFireFunctions.FireDownDegreeOffset(tempProj, 20, 100);
        tempProj = Instantiate(proj, blasterPos, transform.rotation);
        StandardFireFunctions.FireDownDegreeOffset(tempProj, -20, 100);
        tempProj = Instantiate(proj, blasterPos, transform.rotation);
        StandardFireFunctions.FireDownFakeGravity(tempProj, 100);
        yield return(new WaitForSeconds(0.75f));

        tempProj = Instantiate(proj, blasterPos, transform.rotation);
        StandardFireFunctions.FireDownDegreeOffset(tempProj, 10, 100);
        tempProj = Instantiate(proj, blasterPos, transform.rotation);
        StandardFireFunctions.FireDownDegreeOffset(tempProj, -10, 100);
        tempProj = Instantiate(proj, blasterPos, transform.rotation);
        StandardFireFunctions.FireDownDegreeOffset(tempProj, 28, 100);
        tempProj = Instantiate(proj, blasterPos, transform.rotation);
        StandardFireFunctions.FireDownDegreeOffset(tempProj, -28, 100);
    }
コード例 #30
0
    IEnumerator Stop()
    {
        StandardFireFunctions.StopFire(gameObject);

        yield return(new WaitForSeconds(stopWaitTime));
    }