Example #1
0
        private void Shoot()
        {
            Debug.DrawRay(m_SecondBarrel.transform.position, -m_SecondBarrel.transform.right * 1000, Color.red, m_ShootingCooldown / 2);

            RaycastHit hit;

            if (Physics.Raycast(m_SecondBarrel.transform.position, -m_SecondBarrel.transform.right, out hit, 1000, m_CollisionLayer))
            {
                if (hit.transform.tag == "Player")
                {
                    TeamController tc = hit.transform.parent.GetComponent <TeamController>();

                    tc.InflictDamage(1);

                    m_SoundController.PlaySound(m_SoundTankHit);
                }

                // hit explosion
                GameObject hitEffect = (GameObject)Instantiate(m_HitExplosionEffect, hit.point, Quaternion.identity);
            }

            ControllerInput.SetVibration(m_BasePlayer, .8f, .8f, .2f);
            ControllerInput.SetVibration(m_TurretPlayer, .8f, .8f, .2f);

            // flare
            GameObject flare = (GameObject)Instantiate(m_ShotEffect, m_ShootingPoint.position, Quaternion.identity);

            flare.transform.SetParent(m_TankTurret.transform);

            // steam
            GameObject steam = (GameObject)Instantiate(m_SteamEffect, m_ShootingPoint.position, Quaternion.identity);

            steam.transform.SetParent(m_TankTurret.transform);

            // sound
            m_SoundController.PlaySound(m_SoundShooting, 0);

            m_ShootingTimer = m_ShootingCooldown;
        }
 void Awake()
 {
     m_TeamController = transform.parent.GetComponent <TeamController>();
 }