示例#1
0
        private static void CreateHitEmitEffect(
            ClientEffectContext context,
            IEntityIdGenerator entityIdGenerator,
            Vector3 hitPoint,
            Vector3 normal,
            EntityKey owner,
            EEnvironmentType environmentType)
        {
            int type = (int)EClientEffectType.End;
            AudioGrp_HitMatType audioGrpHitMatType = AudioGrp_HitMatType.Concrete;

            switch (environmentType)
            {
            case EEnvironmentType.Wood:
                type = (int)EClientEffectType.WoodHit;
                audioGrpHitMatType = AudioGrp_HitMatType.Wood;

                break;

            case EEnvironmentType.Steel:
                type = (int)EClientEffectType.SteelHit;
                audioGrpHitMatType = AudioGrp_HitMatType.Metal;
                break;

            case EEnvironmentType.Soil:
                type = (int)EClientEffectType.SoilHit;
                break;

            case EEnvironmentType.Stone:
                type = (int)EClientEffectType.StoneHit;
                break;

            case EEnvironmentType.Glass:
                type = (int)EClientEffectType.GlassHit;
                break;

            case EEnvironmentType.Water:
                type = (int)EClientEffectType.WaterHit;
                audioGrpHitMatType = AudioGrp_HitMatType.Water;

                break;

            default:
                type = (int)EClientEffectType.DefaultHit;
                break;
            }

            var effectEntity = CreateBaseEntity(context, entityIdGenerator, hitPoint, type);

            effectEntity.AddOwnerId(owner);
            effectEntity.AddNormal(normal);

            effectEntity.AddAudio((int)AudioClientEffectType.BulletHit);
            effectEntity.audio.AudioClientEffectArg1 = (int)audioGrpHitMatType;
            effectEntity.lifeTime.LifeTime           = SingletonManager.Get <ClientEffectCommonConfigManager>().DecayLifeTime;
            effectEntity.AddFlagImmutability(0);
            effectEntity.isFlagSyncNonSelf = false;
        }
示例#2
0
 public static void PlayHitEnvironmentAudio(AudioGrp_HitMatType hitMatType, int audioId, AkGameObj akGameObj)
 {
     if (IsUnavailable())
     {
         return;
     }
     akGameObj.ThrdPlay(Wwise_IDs.DifferentPlayerEffect);
     Dispatcher.SetSwitch(akGameObj, hitMatType);
     PlayEventAudio(audioId, akGameObj);
 }
示例#3
0
        public static void PlayHitEnvironmentAudio(AudioGrp_HitMatType hitMatType, int audioId, Vector3 Position)
        {
            if (IsUnavailable())
            {
                return;
            }
            var akGameObj = GetEmitter(Position);

            Dispatcher.SetSwitch(akGameObj, hitMatType);
            PlayEventAudio(audioId, akGameObj);
        }
示例#4
0
        public static void PlayHitEnvironmentAudio(AudioGrp_HitMatType hitMatType, Vector3 Position)
        {
            if (SharedConfig.IsServer)
            {
                return;
            }
            var target = GetEmitter(Position);

            AudioEntry.Dispatcher.SetSwitch(target, hitMatType);
            AudioEntry.Dispatcher.PostEvent(BulletFireEventConfig, target);
        }
示例#5
0
        public static void PlayHitEnvironmentAudio(AudioGrp_HitMatType hitMatType, Vector3 Position)
        {
            if (SharedConfig.IsServer || AudioEntry.Dispatcher == null)
            {
                return;
            }
            var emitter = GetEmitter(Position);

            AudioEntry.Dispatcher.SetSwitch(emitter, hitMatType);
            AudioEntry.Dispatcher.PostEvent(GetEventConfig(EAudioUniqueId.BulletHit), emitter, true);
        }
示例#6
0
        public static void PlayHitPlayerAudio(EBodyPart hitPartType, int audioId, Vector3 Position)
        {
            if (IsUnavailable())
            {
                return;
            }
            AudioGrp_HitMatType hitMatType = hitPartType.ToAudioGrpHitMatType();
            var target = GetEmitter(Position);

            Dispatcher.SetSwitch(target, hitMatType);
            PlayEventAudio(audioId, target);
        }
示例#7
0
 internal void SetSwitch(AkGameObj target, AudioGrp_HitMatType hitMatType)
 {
     SetSwitch(target, (int)AudioGrp_HitMatType.Id, (int)hitMatType);
 }
示例#8
0
 public void SetSwitch(GameObject target, AudioGrp_HitMatType hitMatType)
 {
     SetSwitch(target, (int)AudioGrp_HitMatType.Id, (int)hitMatType);
 }