本文整理汇总了C#中Sandbox.Game.Entities.MyEntity3DSoundEmitter.StopSound方法的典型用法代码示例。如果您正苦于以下问题:C# MyEntity3DSoundEmitter.StopSound方法的具体用法?C# MyEntity3DSoundEmitter.StopSound怎么用?C# MyEntity3DSoundEmitter.StopSound使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sandbox.Game.Entities.MyEntity3DSoundEmitter
的用法示例。
在下文中一共展示了MyEntity3DSoundEmitter.StopSound方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: StartShootSound
internal void StartShootSound(MyEntity3DSoundEmitter soundEmitter)
{
if (ShootSound != null)
{
if (soundEmitter.IsPlaying && !soundEmitter.Loop)
soundEmitter.StopSound(true);
soundEmitter.PlaySound(ShootSound, true);
}
}
示例2: StartNoAmmoSound
internal void StartNoAmmoSound(MyEntity3DSoundEmitter soundEmitter)
{
if (NoAmmoSound != null)
{
soundEmitter.StopSound(true);
soundEmitter.PlaySingleSound(NoAmmoSound, true);
}
}
示例3: IKFeetStepSounds
private void IKFeetStepSounds(MyEntity3DSoundEmitter walkEmitter, MySoundPair cueEnum)
{
var movementState = m_character.GetCurrentMovementState();
if (movementState.GetMode() == MyCharacterMovement.Flying)
return;
if (movementState.GetSpeed() != m_lastUpdateMovementState.GetSpeed())
{
walkEmitter.StopSound(true);
m_lastStepTime = 0;
}
int usedMinimumDelay = int.MaxValue;
if (movementState.GetDirection() != MyCharacterMovement.NoDirection)
{
switch (movementState.GetSpeed())
{
case MyCharacterMovement.NormalSpeed:
usedMinimumDelay = m_stepMinimumDelayWalk;
break;
case MyCharacterMovement.Fast:
usedMinimumDelay = m_stepMinimumDelayRun;
break;
case MyCharacterMovement.VeryFast:
usedMinimumDelay = m_stepMinimumDelaySprint;
break;
}
}
bool minimumDelayExceeded = false;
minimumDelayExceeded = (MySandboxGame.TotalGamePlayTimeInMilliseconds - m_lastStepTime) >= usedMinimumDelay;
//MyRenderProxy.DebugDrawAABB(m_character.PositionComp.WorldAABB, Color.White);
if (minimumDelayExceeded)
{
int leftAnkleBoneIndex, rightAnkleBoneIndex;
MyCharacterBone leftAnkleBone = m_character.AnimationController != null
? m_character.AnimationController.FindBone(m_character.Definition.LeftAnkleBoneName, out leftAnkleBoneIndex)
: null;
MyCharacterBone rightAnkleBone = m_character.AnimationController != null
? m_character.AnimationController.FindBone(m_character.Definition.RightAnkleBoneName, out rightAnkleBoneIndex)
: null;
Vector3 posLeftFoot = leftAnkleBone != null
? leftAnkleBone.AbsoluteTransform.Translation
: m_character.PositionComp.LocalAABB.Center;
Vector3 posRightFoot = rightAnkleBone != null
? rightAnkleBone.AbsoluteTransform.Translation
: m_character.PositionComp.LocalAABB.Center;
float ankleHeight;
MyFeetIKSettings settingsIK;
if (m_character.Definition.FeetIKSettings != null
&& m_character.Definition.FeetIKSettings.TryGetValue(MyCharacterMovementEnum.Standing, out settingsIK))
{
ankleHeight = settingsIK.FootSize.Y;
}
else
{
ankleHeight = DEFAULT_ANKLE_HEIGHT;
}
float charSpeed = 0f;
if (m_character.AnimationController != null)
m_character.AnimationController.Variables.GetValue(MyAnimationVariableStorageHints.StrIdSpeed, out charSpeed);
if (posLeftFoot.Y - ankleHeight < m_character.PositionComp.LocalAABB.Min.Y
|| posRightFoot.Y - ankleHeight < m_character.PositionComp.LocalAABB.Min.Y)
{
if(charSpeed > 0.05f)
walkEmitter.PlaySound(cueEnum);
m_lastStepTime = MySandboxGame.TotalGamePlayTimeInMilliseconds;
}
}
m_lastUpdateMovementState = movementState;
}