private void UpdateAudioMixer() { if (AudioSource != null) { AudioSource.outputAudioMixerGroup = WeaverAudio.GetMixerForChannel(channel); } if (poolComponent == null) { poolComponent = GetComponent <PoolableObject>(); } }
public override void EmitSounds() { base.EmitSounds(); if (SwordDeathSound != null) { AudioPlayer weaverAudioPlayer = WeaverAudio.PlayAtPoint(SwordDeathSound, transform.position, swordDeathSoundVolume, AudioChannel.Sound); weaverAudioPlayer.AudioSource.pitch = UnityEngine.Random.Range(swordDeathSoundMinPitch, swordDeathSoundMaxPitch); } if (DamageSound != null) { AudioPlayer weaverAudioPlayer2 = WeaverAudio.PlayAtPoint(DamageSound, transform.position, damageSoundVolume, AudioChannel.Sound); weaverAudioPlayer2.AudioSource.pitch = UnityEngine.Random.Range(damageSoundMinPitch, damageSoundMaxPitch); } }
void Start() { if (StunSound != null) { WeaverAudio.PlayAtPoint(StunSound, transform.position); } transform.localRotation = Quaternion.Euler(0f, 0f, Random.Range(0f, 360f)); CameraShaker.Instance.Shake(Enums.ShakeType.AverageShake); WeaverGameManager.FreezeGameTime(WeaverGameManager.TimeFreezePreset.Preset4); poolComponent = GetComponent <PoolableObject>(); if (poolComponent != null) { poolComponent.ReturnToPool(0.1f); } else { Destroy(gameObject, 0.1f); } }
public void PlayHitEffect(HitInfo hit, Vector3 effectsOffset = default(Vector3)) { if (!firedOnCurrentFrame) { firedOnCurrentFrame = true; WeaverAudio.PlayAtPoint(DamageSound, transform.position, channel: AudioChannel.Sound); if (doFlashEffects) { flasher.FlashNormalHit(); } GameObject hitParticles = Instantiate(Assets.EffectAssets.UninfectedHitPrefab, transform.position + effectsOffset, Quaternion.identity); //GameObject hitParticles = Pooling.Instantiate(Assets.EffectAssets.UninfectedHitPrefab, transform.position + effectsOffset, Quaternion.identity); var direction = DirectionUtilities.DegreesToDirection(hit.Direction); switch (direction) { case CardinalDirection.Up: SetRotation2D(hitParticles.transform, 45f); break; case CardinalDirection.Down: SetRotation2D(hitParticles.transform, 225f); break; case CardinalDirection.Left: SetRotation2D(hitParticles.transform, -225f); break; case CardinalDirection.Right: SetRotation2D(hitParticles.transform, -45f); break; } Flings.SpawnFlings(NormalFlings, transform.position + effectsOffset, direction); } }
public override IEnumerator Roar(GameObject source, Vector3 spawnPosition, float duration, AudioClip roarSound, bool lockPlayer) { if (roarSound != null) { WeaverAudio.PlayAtPoint(roarSound, source.transform.position); } var emitter = RoarEmitter.Spawn(source.transform.position); emitter.stopAfterTime = duration; if (lockPlayer) { Player.Player1.EnterRoarLock(); } yield return(new WaitForSeconds(duration)); if (lockPlayer) { Player.Player1.ExitRoarLock(); } }
IEnumerator HitRoutine(HitInfo hit) { //WeaverLog.Log("NAIL TINK ATTACK DIRECTION = " + hit.Direction); WeaverGameManager.FreezeGameTime(WeaverGameManager.TimeFreezePreset.Preset3); Player.Player1.EnterParryState(); CameraShaker.Instance.Shake(WeaverCore.Enums.ShakeType.EnemyKillShake); //PLAY AUDIO WeaverAudio.PlayAtPoint(TinkSound, transform.position); var attackDirection = hit.Direction; CardinalDirection direction = CardinalDirection.Right; if (attackDirection < 360f && attackDirection > 225f) { direction = CardinalDirection.Down; } else if (attackDirection <= 225f && attackDirection > 135f) { direction = CardinalDirection.Left; } else if (attackDirection <= 135 && attackDirection > 45f) { direction = CardinalDirection.Up; } else { direction = CardinalDirection.Right; } //WeaverLog.Log("TINK DIRECTION = " + direction); switch (direction) { case CardinalDirection.Up: Player.Player1.Recoil(CardinalDirection.Down); Pooling.Instantiate(TinkEffectPrefab, Player.Player1.transform.position + new Vector3(0f, 1.5f, 0f), Quaternion.identity); break; case CardinalDirection.Down: Player.Player1.Recoil(CardinalDirection.Up); Pooling.Instantiate(TinkEffectPrefab, Player.Player1.transform.position + new Vector3(0f, -1.5f, 0f), Quaternion.identity); break; case CardinalDirection.Left: Player.Player1.Recoil(CardinalDirection.Right); Pooling.Instantiate(TinkEffectPrefab, Player.Player1.transform.position + new Vector3(-1.5f, 0f, 0f), Quaternion.identity); break; case CardinalDirection.Right: Player.Player1.Recoil(CardinalDirection.Left); Pooling.Instantiate(TinkEffectPrefab, Player.Player1.transform.position + new Vector3(1.5f, 0f, 0f), Quaternion.identity); break; } yield return(null); Player.Player1.RecoverFromParry(); if (enemy != null) { enemy.OnParry(this, hit); } yield return(null); yield return(new WaitForSeconds(0.15f)); }
public void PlayHitEffect(HitInfo hit, Vector3 effectsOffset = default(Vector3)) { if (!firedOnCurrentFrame) { firedOnCurrentFrame = true; var audio = WeaverAudio.PlayAtPoint(DamageSound, transform.position, channel: AudioChannel.Sound); audio.AudioSource.pitch = UnityEngine.Random.Range(audioPitchMin, audioPitchMax); //DamageFlashPool.Instantiate(transform.position + effectsOffset, Quaternion.identity); Pooling.Instantiate(DamageFlash, transform.position + effectsOffset, Quaternion.identity); if (doFlashEffects) { flasher.flashInfected(); } switch (DirectionUtilities.DegreesToDirection(hit.Direction)) { case CardinalDirection.Up: if (doBlood) { Blood.SpawnDirectionalBlood(transform.position + effectsOffset, CardinalDirection.Up); } //HitPuffPool.Instantiate(transform.position, Quaternion.Euler(270f, 90f, 270f)); Pooling.Instantiate(HitPuff, transform.position, Quaternion.Euler(270f, 90f, 270f)); break; case CardinalDirection.Down: if (doBlood) { Blood.SpawnDirectionalBlood(transform.position + effectsOffset, CardinalDirection.Down); } Pooling.Instantiate(HitPuff, transform.position, Quaternion.Euler(-72.5f, -180f, -180f)); break; case CardinalDirection.Left: if (doBlood) { Blood.SpawnDirectionalBlood(transform.position + effectsOffset, CardinalDirection.Left); } Pooling.Instantiate(HitPuff, transform.position, Quaternion.Euler(180f, 90f, 270f)); break; case CardinalDirection.Right: if (doBlood) { Blood.SpawnDirectionalBlood(transform.position + effectsOffset, CardinalDirection.Right); } Pooling.Instantiate(HitPuff, transform.position, Quaternion.Euler(0f, 90f, 270f)); break; } //GameObject hitParticles = Instantiate(Assets.EffectAssets.UninfectedHitPrefab, transform.position + effectsOffset, Quaternion.identity); //GameObject hitParticles = InfectedHitPool.Instantiate(transform.position + effectsOffset, Quaternion.identity); /*var direction = DirectionUtilities.DegreesToDirection(hit.Direction); * * switch (direction) * { * case CardinalDirection.Up: * SetRotation2D(hitParticles.transform, 45f); * break; * case CardinalDirection.Down: * SetRotation2D(hitParticles.transform, 225f); * break; * case CardinalDirection.Left: * SetRotation2D(hitParticles.transform, -225f); * break; * case CardinalDirection.Right: * SetRotation2D(hitParticles.transform, -45f); * break; * } * * Flings.SpawnFlings(NormalFlings, transform.position + effectsOffset, direction);*/ } }
private static void PlayTeleportSound(Vector3 position, float audioPitch) { var teleportSound = WeaverAudio.PlayAtPoint(AudioAssets.Teleport, position, 1f, AudioChannel.Sound); teleportSound.AudioSource.pitch = audioPitch; }