public void OnAttack() { Console.WriteLine($"King {this.Name} is under attack!"); UnderAttack?.Invoke(); }
internal UnderAttackEvent InvokeEvent(UnderAttackEvent arg) { if (_api.ValidateEvent(arg)) { UnderAttack?.Invoke(_api, arg); } return(arg); }
public void Attacked(Direction attackedFrom = Direction.Right) { IsUnderAttack = true; lastAttackedFrom = attackedFrom; UnderAttack?.Invoke(attackedFrom); rb.AddForce(new Vector2(attackedFrom.AsFloat(), OnCollisionYDirectionFactor) * OnCollisionForceMultiplier); StartCoroutine(FinishAttackRoutine()); }
private void OnCollisionEnter2D(Collision2D other) { var isAttacker = other.gameObject.CompareTag("Player"); if (isAttacker) { IsUnderAttack = true; var impact = other.transform.position - transform.position; var attackedFrom = impact.x < 0f ? Direction.Right : Direction.Left; lastAttackedFrom = attackedFrom; UnderAttack?.Invoke(attackedFrom); rb.AddForce(new Vector2(attackedFrom.AsFloat(), OnCollisionYDirectionFactor) * OnCollisionForceMultiplier); } else { IsUnderAttack = false; AttackFinished?.Invoke(); } }
public void OnUnderAttack() { Console.WriteLine($"King {this.Name} is under attack!"); UnderAttack?.Invoke(this, new EventArgs()); }
public void OnUnderAttack(UnderAttackEventArgs Args) { UnderAttack?.Invoke(this, Args); }