Пример #1
0
 public static Effects.EffectData CreateEffectData(EffectTypeInfo info)
 {
     Effects.EffectData data = new Effects.EffectData();
     data.Image = info.Image;
     data.Type  = info.Type;
     return(data);
 }
Пример #2
0
        public static void CreateHitEnvironmentEffect(Vector3 hitPoint, Vector3 normal,
                                                      EEnvironmentType environmentType, int hitAudioId,
                                                      bool needEffectEntity, int chunkId, Transform parent = null)
        {
            EffectTypeInfo effectTypeInfo = environmentType.ToClientEfcInfo();

            if (needEffectEntity)
            {
                ClientEffectEmitter clientEffectObj =
                    LocalObjectGenerator.EffectLocal.GetClientEffectEmitter(EEffectObjectClassify.EnvHit);
                IEffectBehavior effectBehavior;
                if (chunkId > 0)
                {
                    var chunkBehavior = ObjectAllocatorHolder <ChunkEffectBehavior> .Allocate();

                    //ChunkEffectBehavior  b1 =ObjectAllocatorHolder<ChunkEffectBehavior>.Allocate();
                    chunkBehavior.Initialize(normal, hitPoint, (int)effectTypeInfo.AudioType, hitAudioId,
                                             AudioClientEffectType.WeaponEnvHit, chunkId, parent);
                    effectBehavior = chunkBehavior;
                }
                else
                {
                    var noramlEffect = ObjectAllocatorHolder <NormalEffectBehavior> .Allocate();

                    //NormalEffectBehavior b2 = ObjectAllocatorHolder<>.Allocate();
                    noramlEffect.Initialize(normal, hitPoint, (int)effectTypeInfo.AudioType, hitAudioId,
                                            AudioClientEffectType.WeaponEnvHit);
                    effectBehavior = noramlEffect;
                }
                clientEffectObj.Initialize((int)effectTypeInfo.DefaultId, effectBehavior);
            }
            else //应对于空手情况
            {
                GameAudioMedia.PlayHitEnvironmentAudio(effectTypeInfo.AudioType, hitAudioId, hitPoint);
            }
        }