private void OnShieldImpact(ShieldImpactMessage obj) { if (!obj.WasDeflected) { CurrentEffect = obj.Projectile.DamageEffect; EffectExpirationTime = Time.time + obj.Projectile.EffectTime; damageAnimation.renderer.enabled = true; damageAnimation.Play(); } }
private void OnShieldImpact(ShieldImpactMessage obj) { if (!obj.WasDeflected) { var explosion = _recycleQueue.Next(); explosion.renderer.enabled = true; explosion.transform.position = new Vector3(obj.ImpactPosition.x, obj.ImpactPosition.y, transform.position.z); explosion.Play(); } else { if (obj.Projectile.ProjectileColor == ProjectileColor.Blue) { var explosion = _shieldBlockQueue.Next(); explosion.transform.position = new Vector3(obj.ImpactPosition.x, obj.ImpactPosition.y, transform.position.z); explosion.startColor = Color.blue; explosion.Play(); } else if (obj.Projectile.ProjectileColor == ProjectileColor.Red) { var explosion = _redExplosionQueue.Next(); explosion.renderer.enabled = true; explosion.transform.position = new Vector3(obj.ProjectilePosition.x, obj.ProjectilePosition.y, transform.position.z); explosion.Play(); } else { var explosion = _shieldBlockQueue.Next(); explosion.transform.position = new Vector3(obj.ImpactPosition.x, obj.ImpactPosition.y, transform.position.z); explosion.startColor = Color.green; explosion.Play(); } } }
private void OnShieldImpact(ShieldImpactMessage obj) { if (obj.WasDeflected) { blocked++; } else { misses++; } }