Exemplo n.º 1
0
    // Shoot a set of objects at the player from each paw
    IEnumerator C_PawShoot(float StartDelay)
    {
        yield return(new WaitForSeconds(StartDelay));

        if (LeftArm.gameObject.activeInHierarchy)
        {
            LeftArm.SetDeathTimer(0, 5);
            LeftArm.MoveToPosition_Y(0, gameObject.transform, 1);
            LeftArm.ShootAtTarget_Player(2, 0.2f, 15, 2);
            LeftArm.MoveObjectToPoint(6, LeftArmStartingPosition, 1);
        }

        if (RightArm.gameObject.activeInHierarchy)
        {
            RightArm.SetDeathTimer(0, 5);
            RightArm.MoveToPosition_Y(0, gameObject.transform, 1);
            RightArm.ShootAtTarget_Player(2, 0.2f, 15, 2);
            RightArm.MoveObjectToPoint(6, RightArmStartingPosition, 1);
        }

        for (float I = 2; I < 5; I = I + 0.2f)
        {
            CenterHead.PlayClip(I, Bullet2);
        }

        yield return(new WaitForSeconds(7));
    }
Exemplo n.º 2
0
    IEnumerator C_ShootAttack()
    {
        print("I AM TRYING TO SHOOT");

        while (AI_Action == 1)
        {
            anim.SetBool("IsShooting", true);

            if (GameController.control.GuyLocation.transform.position.x > gameObject.transform.position.x && !facingRight)
            {
                Flip();
            }
            if (GameController.control.GuyLocation.transform.position.x < gameObject.transform.position.x && facingRight)
            {
                Flip();
            }

            //			gameObject.rigidbody2D.velocity = new Vector2(0, 0);

            if (ShootAtPlayer)
            {
                MonsterManipulation.ShootAtTarget_Player(0, ShotDelay, NumberOfShots, ShotSpeed);
            }
            else
            {
                if (gameObject.transform.position.x - ShotConstraint < GameController.control.GuyLocation.transform.position.x && GameController.control.GuyLocation.transform.position.x < gameObject.transform.position.x + ShotConstraint)
                {
                    if (gameObject.transform.position.y < GameController.control.GuyLocation.transform.position.y)
                    {
                        MonsterManipulation.ShootDirection(0, NumberOfShots, new Vector2(0, 1), ShotDelay, ShotSpeed);
                    }
                    else
                    {
                        MonsterManipulation.ShootDirection(0, NumberOfShots, new Vector2(0, -1), ShotDelay, ShotSpeed);
                    }
                }
                else
                if (gameObject.transform.position.y - ShotConstraint < GameController.control.GuyLocation.transform.position.y && GameController.control.GuyLocation.transform.position.y < gameObject.transform.position.y + ShotConstraint)
                {
                    if (facingRight)
                    {
                        MonsterManipulation.ShootDirection(0, NumberOfShots, new Vector2(1, 0), ShotDelay, ShotSpeed);
                    }
                    else
                    {
                        MonsterManipulation.ShootDirection(0, NumberOfShots, new Vector2(-1, 0), ShotDelay, ShotSpeed);
                    }
                }
            }

            yield return(new WaitForSeconds(ShotDelay * NumberOfShots));

            anim.SetBool("IsShooting", false);
            yield return(new WaitForSeconds(ReloadDelay));
        }

        print("I AM DONE TRYING TO SHOOT");
        anim.SetBool("IsShooting", false);
    }
Exemplo n.º 3
0
    IEnumerator C_StartCoroutine()
    {
        yield return(new WaitForSeconds(StartDelay));

//		if (NumberOfSets == 0)
//			NumberOfSets = 1000;

        int I = 0;

//		for(int I=0; I<NumberOfSets; I++)
        while (I < NumberOfSets || NumberOfSets == 0)
        {
            if (ShootDirection)
            {
                SuperScript.ShootDirection(0, ObjectAmount, Target, ObjectDelay, ObjectSpeed);
            }
            if (ShootAtPlayer)
            {
                SuperScript.ShootAtTarget_Player(0, ObjectDelay, ObjectAmount, ObjectSpeed);
            }
            if (WaveyLine)
            {
                if (Xdirection != 0)
                {
                    SuperScript.WaveSpray_Horizontal(0, ObjectAmount, ObjectDelay, Amplitude_Y, PeriodSpeed_Y, ObjectSpeed);
                }
                if (Ydirection != 0)
                {
                    SuperScript.WaveSpray_Vertical(0, ObjectAmount, ObjectDelay, Amplitude_X, PeriodSpeed_X, ObjectSpeed);
                }
            }

            if (SprayInDirection)
            {
                SuperScript.SprayInDirection(0, ObjectAmount, Target, ObjectDelay, ObjectSpeed);
            }
            if (RandomSprayOutwards)
            {
                SuperScript.RandomSprayOutwards(0, ObjectDelay, ObjectAmount, ObjectSpeed);
            }

            // Next 3 count as one object
            if (CircleBurst)
            {
                SuperScript.CircleBurst(0, ObjectAmount, ObjectSpeed);
            }
            if (RandomRain)
            {
                SuperScript.ShootFromTopScreen(0, ObjectAmount, ObjectDelay, ObjectSpeed);
            }
            if (FollowTarget)
            {
                SuperScript.FollowTarget_Player(0, DeathTimer, ObjectSpeed);
            }
            if (RandomSprayBounce)
            {
                SuperScript.RandomSprayBounce(0, ObjectDelay, ObjectAmount, ObjectSpeed);
            }


            yield return(new WaitForSeconds(TimeToSpawnObjects));

            yield return(new WaitForSeconds(DelayBetweenSets));

            I++;
        }

        print(" I AM DONE");
        yield return(null);
    }