public override void Fire() { if (m_bCanFire && m_iAmmunition > 0) { // Get the fire direction so spawning is at the correct initial rotation Vector3 vTraj = transform.position - (transform.position + m_vSpawnPosition); float fAngle = (Mathf.Atan2(vTraj.y, vTraj.x) * Mathf.Rad2Deg) + 90f; // Spawn the Missile Instantiate(m_BulletPrefab, (transform.position + m_vSpawnPosition), Quaternion.AngleAxis(fAngle, Vector3.forward)); GameInstance.Object.GetAudioManager().PlayAudioAtLocation(transform.position, EGameSFX._SFX_MISSLE_TAKEOFF); --m_iAmmunition; // Set a timer for the next shot... m_iTimerHandle = TimerManager.AddTimer(m_fFiringPauseSeconds, Fire); // Null check belt and braces, Fire can be called before OnRoomEnter if m_fInitialFireDelay is too small if (null != m_gcAnimator) { m_gcAnimator.FlickAnim(); } } }
public override void Fire() { base.Fire(); m_gcAnimator.FlickAnim(); }