Exemplo n.º 1
0
 private void UpdateAudioMixer()
 {
     if (AudioSource != null)
     {
         AudioSource.outputAudioMixerGroup = WeaverAudio.GetMixerForChannel(channel);
     }
     if (poolComponent == null)
     {
         poolComponent = GetComponent <PoolableObject>();
     }
 }
Exemplo n.º 2
0
 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);
     }
 }
Exemplo n.º 3
0
 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);
     }
 }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
            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();
                }
            }
Exemplo n.º 6
0
    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));
    }
Exemplo n.º 7
0
        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);*/
            }
        }
Exemplo n.º 8
0
        private static void PlayTeleportSound(Vector3 position, float audioPitch)
        {
            var teleportSound = WeaverAudio.PlayAtPoint(AudioAssets.Teleport, position, 1f, AudioChannel.Sound);

            teleportSound.AudioSource.pitch = audioPitch;
        }