public static Effects.EffectData CreateEffectData(EffectTypeInfo info) { Effects.EffectData data = new Effects.EffectData(); data.Image = info.Image; data.Type = info.Type; return(data); }
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); } }