//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // * New Method: Fire Towards Player //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ protected virtual void FireTowardsPlayer() { // Create Projectile GameObject Projectile = Instantiate(m_goBullet, m_goUnitHead.transform.position, Quaternion.identity) as GameObject; BasicBulletMovementScript ProjectileScript = Projectile.GetComponent <BasicBulletMovementScript>(); // Face it Towards the Target Vector Projectile.transform.LookAt(GetPlayerPosition()); // Setup Projectile Information ProjectileScript.SetImpactDamage(m_fOutputDamage); ProjectileScript.SetMovementSpeed(m_fBulletSpeed); ProjectileScript.SetExpectedTravelDistance(m_fBulletSpeed * 2.0f); }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // * New Method: Fire Towards Player //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private void FireTowardsPlayer() { // Create Projectile GameObject Projectile = Instantiate(m_goBullet, m_goTurretHead.transform.position, Quaternion.identity) as GameObject; BasicBulletMovementScript ProjectleMovement = Projectile.GetComponent <BasicBulletMovementScript>(); // Set Forward Vector, this is the direction the projectile moves towards Projectile.transform.forward = GetForwardVector(); // Set Projectile Damage, Speed, and Travel Distance until Self.Destroy ProjectleMovement.SetImpactDamage(m_fOutputDamage); ProjectleMovement.SetMovementSpeed(m_fBulletSpeed); ProjectleMovement.SetExpectedTravelDistance(m_fBulletSpeed * 2.0f); }