Exemple #1
0
        protected void StopDrillingCue()
        {
            if (m_drillCue != null && m_drillCue.Value.IsPlaying)
            {
                m_drillCue.Value.Stop(SharpDX.XACT3.StopFlags.Release);
                if (m_drillCueReleaseEnum != null)
                {
                    MySoundCuesEnum releaseCue;
                    if ((m_drillCue.Value.CueEnum == m_drillOtherCueEnum ||
                         m_drillCue.Value.CueEnum == MyAudio.GetVersion2D(m_drillOtherCueEnum.Value)) &&
                        m_drillOtherCueReleaseEnum.HasValue)
                    {
                        releaseCue = m_drillOtherCueReleaseEnum.Value;
                    }
                    else
                    {
                        releaseCue = m_drillCueReleaseEnum.Value;
                    }

                    if (m_drillCueRelease == null || !m_drillCueRelease.Value.IsPlaying)
                    {
                        m_drillCueRelease = MyAudio.AddCue2dOr3d(Parent, releaseCue, WorldMatrix.Translation, WorldMatrix.Forward,
                                                                 WorldMatrix.Up, this.Parent.Physics.LinearVelocity);
                    }
                }
            }
        }