public static bool PlayEnvironmentAudio(AudioGrp_Footstep sourceType, Vector3 Position,GameObject target) { if (SharedConfig.IsServer || AKAudioEntry.Dispatcher == null) return false; if (sourceType == AudioGrp_Footstep.None) return false; int sceneId = SingletonManager.Get<MapConfigManager>().SceneParameters.Id; var terrain = SingletonManager.Get<TerrainManager>().GetTerrain(sceneId); TerrainMatOriginType matType = (TerrainMatOriginType)terrain.GetTerrainPositionMatType(Position); AudioGrp_MatIndex matGrpIndex = matType.ToAudioMatGrp(); AudioEventItem evtConfig = SingletonManager.Get<AudioEventManager>().FindById(GlobalConst.AudioEvt_Footstep); AKAudioEntry.Dispatcher.SetSwitch(target, matGrpIndex); AKAudioEntry.Dispatcher.SetSwitch(target, sourceType); // AKAudioEntry.Dispatcher.SetSwitch(target, matGrpIndex); //AKAudioEntry.Dispatcher.SetSwitch(target, matType); AKAudioEntry.Dispatcher.PostEvent(evtConfig, target); return true; }
internal void SetSwitch(AkGameObj target, AudioGrp_Footstep stepIndex) { SetSwitch(target, (int)AudioGrp_Footstep.Id, (int)stepIndex); }
public void AnimationEventCallback(PlayerEntity player, string param, UnityEngine.AnimationEvent eventParam) { if (player.time.ClientTime - _lastTime < StepInterval) { return; } _lastTime = player.time.ClientTime; if (player.gamePlay.LifeState == (int)EPlayerLifeState.Dead) { //死亡时不播放行走音效 return; } if (player.IsOnVehicle()) { //在车上不播放行走音效 return; } switch (player.gamePlay.GameState) { case GameState.AirPlane: case GameState.Gliding: case GameState.Invisible: case GameState.JumpPlane: //以上状态不播放行走音效 return; case GameState.Normal: case GameState.Poison: case GameState.Visible: break; } var myTerrain = SingletonManager.Get <TerrainManager>().GetTerrain(SingletonManager.Get <MapConfigManager>().SceneParameters.Id); var curPosture = player.stateInterface.State.GetCurrentPostureState(); var id = UniversalConsts.InvalidIntId; var inWater = SingletonManager.Get <MapConfigManager>().InWater(player.position.Value); AudioGrp_Footstep step = AudioGrp_Footstep.None; switch (curPosture) { case PostureInConfig.Crouch: if (!inWater) { step = AudioGrp_Footstep.Squat; } break; case PostureInConfig.Prone: if (!inWater) { step = AudioGrp_Footstep.Crawl; } break; case PostureInConfig.Stand: if (!inWater) { step = AudioGrp_Footstep.Walk; } break; case PostureInConfig.Swim: player.soundManager.Value.PlayOnce(EPlayerSoundType.Swim); break; case PostureInConfig.Dive: player.soundManager.Value.PlayOnce(EPlayerSoundType.Dive); break; } if (step != AudioGrp_Footstep.None) { GameAudioMedia.PlayEnvironmentAudio(step, player.position.Value, player.appearanceInterface.Appearance.CharacterP1); } //switch (curPosture) //{ // case PostureInConfig.Crouch: // if(inWater) // { // player.soundManager.Value.PlayOnce(EPlayerSoundType.SquatSwamp); // } // else // { // player.soundManager.Value.PlayOnce(EPlayerSoundType.Squat); // } // break; // case PostureInConfig.Prone: // if(inWater) // { // player.soundManager.Value.PlayOnce(EPlayerSoundType.CrawlSwamp); // } // else // { // player.soundManager.Value.PlayOnce(EPlayerSoundType.Crawl); // } // break; // case PostureInConfig.Stand: // if(inWater) // { // player.soundManager.Value.PlayOnce(EPlayerSoundType.WalkSwamp); // } // else // { // player.soundManager.Value.PlayOnce(EPlayerSoundType.Walk); // } // break; // case PostureInConfig.Swim: // player.soundManager.Value.PlayOnce(EPlayerSoundType.Swim); // break; // case PostureInConfig.Dive: // player.soundManager.Value.PlayOnce(EPlayerSoundType.Dive); // break; //} }
public void SetSwitch(GameObject target, AudioGrp_Footstep stepIndex) { SetSwitch(target, (int)AudioGrp_Footstep.Id, (int)stepIndex); }
public void Initialize(AudioGrp_Footstep footstep, AudioGrp_FootMatType matType, Vector3 relatedPos, Vector3 relatedRocation) { Initialize((byte)footstep, (byte)matType, relatedPos, relatedRocation); }
public void AnimationEventCallback(PlayerEntity player, string param, UnityEngine.AnimationEvent eventParam) { if (SharedConfig.IsServer || eventParam == null || eventParam.animatorClipInfo.weight <= 0.5f) { return; } if (lastFrameCount == Time.frameCount) { return; } if (!player.IsStepAudioValied()) { return; } AudioGrp_Footstep stepState = player.GetFootStepState(); if (stepState == AudioGrp_Footstep.None) { return; } lastFrameCount = Time.frameCount; player.AudioController().PlayFootstepAudio(stepState); // if (!AudioUtil.IsStepAudioValied(player)) // { // return; // } // switch(player.gamePlay.GameState) // { // case GameState.AirPlane: // case GameState.Gliding: // case GameState.Invisible: // case GameState.JumpPlane: // //以上状态不播放行走音效 // return; // case GameState.Normal: // case GameState.Poison: // case GameState.Visible: // break; // } // // var myTerrain = SingletonManager.Get<TerrainManager>().GetTerrain(SingletonManager.Get<MapConfigManager>().SceneParameters.Id); // PostureInConfig curPosture = player.stateInterface.State.GetCurrentPostureState(); // var id = GlobalConst.InvalidIntId; // var inWater = false;// SingletonManager.Get<MapConfigManager>().InWater(player.position.Value); // AudioGrp_Footstep step = AudioGrp_Footstep.None; // switch (curPosture) // { // case PostureInConfig.Crouch: // if (!inWater) // step = AudioGrp_Footstep.Squat; // break; // case PostureInConfig.Prone: // if (!inWater) // step = AudioGrp_Footstep.Crawl; // break; // case PostureInConfig.Stand: // if (!inWater) // step = AudioGrp_Footstep.Walk; // // break; // case PostureInConfig.Swim: // player.soundManager.Value.PlayOnce(EPlayerSoundType.Swim); // break; // case PostureInConfig.Dive: // player.soundManager.Value.PlayOnce(EPlayerSoundType.Dive); // break; // } // GameAudioMedia.PlayEnvironmentAudio(stepState, player.position.Value, player.appearanceInterface.Appearance.CharacterP1); // player.playerAudio.LastFootPrintPlayStamp = player.time.ClientTime; //switch (curPosture) //{ // case PostureInConfig.Crouch: // if(inWater) // { // player.soundManager.Value.PlayOnce(EPlayerSoundType.SquatSwamp); // } // else // { // player.soundManager.Value.PlayOnce(EPlayerSoundType.Squat); // } // break; // case PostureInConfig.Prone: // if(inWater) // { // player.soundManager.Value.PlayOnce(EPlayerSoundType.CrawlSwamp); // } // else // { // player.soundManager.Value.PlayOnce(EPlayerSoundType.Crawl); // } // break; // case PostureInConfig.Stand: // if(inWater) // { // player.soundManager.Value.PlayOnce(EPlayerSoundType.WalkSwamp); // } // else // { // player.soundManager.Value.PlayOnce(EPlayerSoundType.Walk); // } // break; // case PostureInConfig.Swim: // player.soundManager.Value.PlayOnce(EPlayerSoundType.Swim); // break; // case PostureInConfig.Dive: // player.soundManager.Value.PlayOnce(EPlayerSoundType.Dive); // break; //} }
public virtual void PlayFootstepAudioS(AudioGrp_Footstep stepState) { }