Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="dashState"></param>
        /// <param name="bullet"></param>
        /// <returns></returns>
        public bool TryDeflectBullet(CharacterGameplayState_Dash dashState, Bullet bullet)
        {
            if (dashState.isActive || dashState.isDeflectActive)
            {
                bullet.speed                  = Mathf.Min(abilityData.multiplier * bullet.speed, abilityData.maxVelocity);
                bullet.instigator             = dashState.character;
                bullet.gameplayTeam.teamIndex = -1;
                bullet.orientation           *= -1.0f;
                bullet.isDashReflected        = true;

                dashState.isDeflectActive = true;

                SpawnDeflectAnimation(dashState, bullet.transform);

                return(true);
            }

            return(false);
        }
Exemplo n.º 2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="dashState"></param>
 /// <param name="transform"></param>
 public void SpawnDeflectAnimation(CharacterGameplayState_Dash dashState, Transform transform)
 {
     dashState.character.EmitSound(DeflectSoundKey);
     GameplayStatics.SpawnFireAndForgetAnimation(abilityData.deflectAnimation, transform.position, transform.rotation, dashState.character.transform);
 }