/// <summary> /// Play audio using our data. /// </summary> /// <param name="parent">The Impact Object that created this result.</param> public void Process(IImpactObject parent) { this.parent = parent; audioSource = ImpactAudioPool.PlayAudio(this, OriginalData.Point, InteractionResultExtensions.GetPriority(OriginalData.PriorityOverride, parent)); targetVolume = currentVolume = Volume; targetPitch = currentPitch = Pitch; //Dispose immediately for Collision interaction types if (OriginalData.InteractionType == InteractionData.InteractionTypeCollision) { Dispose(); } }
/// <summary> /// Emit particles using our data. /// </summary> /// <param name="parent">The Impact Object that created this result.</param> public void Process(IImpactObject parent) { this.parent = parent; particlesInstance = ImpactParticlePool.EmitParticles(this, OriginalData.Point, OriginalData.Normal, InteractionResultExtensions.GetPriority(OriginalData.PriorityOverride, parent)); IsAlive = true; currentEmissionIntervalTarget = EmissionInterval.RandomInRange(); //Dispose immediately for Collision interaction types if (OriginalData.InteractionType == InteractionData.InteractionTypeCollision) { Dispose(); } }