void Fire() { if (isFireable() && GameInput.GetFire(pCode)) { Vector3 shootDirection = aimPoint.transform.position - collisionRange.transform.position; GameObject projectile = Instantiate(projectilePrefab, aimPoint.transform); PlayerProjectile pp = projectile.transform.gameObject.GetComponent <PlayerProjectile>(); ProjectileWhoShoot who = projectile.transform.GetComponent <ProjectileWhoShoot>(); who.who = transform.gameObject; if (shootDirection.x == 0) { shootDirection.x += shotDirections[shotSeq]; } else if (shootDirection.y == 0) { shootDirection.y += shotDirections[shotSeq]; } shotSeq++; shotSeq = shotSeq % shotDirections.Length; pp.direction = shootDirection.normalized; if (normalShotSFX != null && sfx != null) { // LockOn Sound Effect sfx.PlayOneShot(normalShotSFX); } projectile.transform.SetParent(null); fireTimer = 0f; } }
private void CollideWithEnemy(Collision col) { if (col.transform.CompareTag("Target")) { EnemyHealth eh = col.transform.GetComponent <EnemyHealth>(); if (eh != null) { eh.Damage(dmg); if (eh.curHP <= 0) { ProjectileWhoShoot who = transform.GetComponent <ProjectileWhoShoot>(); PlayerScore ps = who.who.GetComponent <PlayerScore>(); ps.AddScore(100); } } } }
void Fire() { if (IsFireable() && GameInput.GetMissle(pCode)) { if (missileFireSFX != null && sfx != null && lockedEnemies.Count > 0) { sfx.PlayOneShot(missileFireSFX); } foreach (GameObject target in lockedEnemies) { GameObject missile = Instantiate(missilePrefab, this.transform); PlayerMissile pm = missile.transform.GetComponent <PlayerMissile>(); ProjectileWhoShoot who = missile.transform.GetComponent <ProjectileWhoShoot>(); pm.SetTarget(target); who.who = transform.gameObject; missile.transform.SetParent(null); } lockedEnemies.Clear(); } }