Inheritance: MonoBehaviour
Exemple #1
0
    //Collisions
    void OnCollisionEnter(Collision collision)
    {
        GameObject  hit           = collision.gameObject;
        Health      health        = hit.GetComponent <Health>();
        powerupStar powerup       = hit.GetComponent <powerupStar>();
        enemyBullet deflectBullet = hit.GetComponent <enemyBullet>();
        enemyLaser  deflectLaser  = hit.GetComponent <enemyLaser>();

        if (health != null)
        {
            health.TakeDamage(dmg);
        }

        if (powerup != null)
        {
            if (powerup.timer < 0.3)
            {
                powerup.powerup += 0.01f;
            }
        }

        if (deflectBullet != null)
        {
            deflectBullet.deflected = true;
            deflectBullet.speed    -= deflectBullet.originalSpeed * 1.7f;
            deflectBullet.dmg       = deflectBullet.dmg * 2;
        }

        if (deflectLaser != null)
        {
            deflectLaser.deflected = true;
            deflectLaser.speed    -= deflectLaser.originalSpeed * 1.7f;
            deflectLaser.dmg       = deflectLaser.dmg * 2;
        }
    }
Exemple #2
0
    //we want to use the player as a reference for animating and giving a simple AI.
    void Start()
    {
        Player           = GameObject.Find("Player");
        ControllerScript = Player.GetComponent <PlayerController> ();
        PHealthScript    = Player.GetComponent <playerHealth> ();

        controller = GetComponent <CharacterController> ();
        rend       = GetComponent <SpriteRenderer> ();
        target     = GameObject.FindGameObjectWithTag("Player");
        //Physics.IgnoreCollision (target.GetComponent<Collider> (), GetComponent<Collider> ());
        Physics.IgnoreCollision(target.transform.root.GetComponent <Collider> (), GetComponent <Collider> ());
        //Physics.IgnoreCollision (SlashWave.GetComponent<BoxCollider> (), GetComponent<Collider> ());

        origX = transform.localScale.x;
        //here it makes it ignore other enemy colliders so they can't get caught on each other.
        GameObject[] enemies = GameObject.FindGameObjectsWithTag("enemy");

        foreach (GameObject en in enemies)
        {
            if (en.GetComponent <Collider> () != GetComponent <Collider> ())
            {
                Physics.IgnoreCollision(GetComponent <Collider> (), en.GetComponent <Collider> ());
            }
        }
        bullet = Instantiate(enemyBullet, bulletPosition.position, Quaternion.Euler(0, 0, 0)) as GameObject;
        bullet.GetComponent <SpriteRenderer> ().enabled = false;
        bulletrb     = bullet.GetComponent <Rigidbody> ();
        bulletScript = bullet.GetComponent <enemyBullet> ();

        HealthScript = GetComponent <enemyHealth> ();
    }
    public void Attack()
    {
        gunShoot.Play();

        muzzleCounter = muzzleShowPeriod;

        shootCounter = MinimumShootPeriod;
        GameObject  newBullet = GameObject.Instantiate(bulletCandidate);
        enemyBullet bullet    = newBullet.GetComponent <enemyBullet> ();

        bullet.transform.position = muzzleFlash.transform.position;
        bullet.transform.rotation = muzzleFlash.transform.rotation;

        bullet.InitAndShoot(muzzleFlash.transform.forward);
    }