private void StopCurrentSound(VulcanSoundManagerComponent manager) { if (manager.CurrentSound != null) { manager.CurrentSound.Stop(); } }
private void PlayNextSound(AudioSource sound, VulcanSoundManagerComponent manager) { this.StopCurrentSound(manager); if (sound != null) { manager.CurrentSound = sound; this.PlaySound(sound, manager); } }
public void PlaySpeedUpSounds(NodeAddedEvent evt, VulcanSpeedUpNode weapon) { AudioSource soundSource = weapon.vulcanTurbineSoundEffect.SoundSource; AudioSource sound = weapon.vulcanChainStartSoundEffect.SoundSource; VulcanSoundManagerComponent vulcanSoundManager = weapon.vulcanSoundManager; weapon.vulcanSlowDownAfterSpeedUpSoundEffect.AdditionalStartTimeOffset = weapon.vulcanWeapon.SpeedUpTime * (1f - weapon.vulcanWeaponState.State); this.PlayNextSound(soundSource, vulcanSoundManager); this.PlaySound(sound, vulcanSoundManager); }
public void InitEffects(NodeAddedEvent evt, [Combine] VulcanAllSoundEffectsNode weapon, SingleNode <SoundListenerBattleStateComponent> soundListener) { Transform soundRoot = weapon.weaponSoundRoot.transform; VulcanSoundManagerComponent soundManagerComponent = new VulcanSoundManagerComponent(); this.InitSoundEffect(weapon.vulcanAfterShootingSoundEffect, soundManagerComponent, soundRoot); this.InitSoundEffect(weapon.vulcanChainStartSoundEffect, soundManagerComponent, soundRoot); this.InitSoundEffect(weapon.vulcanSlowDownAfterSpeedUpSoundEffect, soundManagerComponent, soundRoot); this.InitSoundEffect(weapon.vulcanTurbineSoundEffect, soundManagerComponent, soundRoot); float length = weapon.vulcanTurbineSoundEffect.SoundSource.clip.length; weapon.vulcanTurbineSoundEffect.StartTimePerSec = length - weapon.vulcanWeapon.SpeedUpTime; weapon.vulcanTurbineSoundEffect.SoundSource.time = weapon.vulcanTurbineSoundEffect.StartTimePerSec; weapon.Entity.AddComponent(soundManagerComponent); }
private void PlaySound(AudioSource sound, VulcanSoundManagerComponent manager) { sound.PlayDelayed(manager.SoundsWithDelay[sound]); }
private void InitSoundEffect(AbstractVulcanSoundEffectComponent soundEffectComponent, VulcanSoundManagerComponent soundManagerComponent, Transform soundRoot) { GameObject obj2 = Object.Instantiate <GameObject>(soundEffectComponent.EffectPrefab); obj2.transform.parent = soundRoot; obj2.transform.localPosition = Vector3.zero; AudioSource component = obj2.GetComponent <AudioSource>(); soundEffectComponent.SoundSource = component; component.time = soundEffectComponent.StartTimePerSec; soundManagerComponent.SoundsWithDelay.Add(component, soundEffectComponent.DelayPerSec); }