//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; } }
//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); }