Esempio n. 1
0
        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;
        }
Esempio n. 2
0
 internal void SetSwitch(AkGameObj target, AudioGrp_Footstep stepIndex)
 {
     SetSwitch(target, (int)AudioGrp_Footstep.Id, (int)stepIndex);
 }
Esempio n. 3
0
        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;
            //}
        }
Esempio n. 4
0
 public void SetSwitch(GameObject target, AudioGrp_Footstep stepIndex)
 {
     SetSwitch(target, (int)AudioGrp_Footstep.Id, (int)stepIndex);
 }
Esempio n. 5
0
 public void Initialize(AudioGrp_Footstep footstep, AudioGrp_FootMatType matType, Vector3 relatedPos,
                        Vector3 relatedRocation)
 {
     Initialize((byte)footstep, (byte)matType, relatedPos, relatedRocation);
 }
Esempio n. 6
0
        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;
            //}
        }
Esempio n. 7
0
 public virtual void PlayFootstepAudioS(AudioGrp_Footstep stepState)
 {
 }