Esempio n. 1
0
        public void OnAttack()

        {
            Console.WriteLine($"King {this.Name} is under attack!");

            UnderAttack?.Invoke();
        }
Esempio n. 2
0
 internal UnderAttackEvent InvokeEvent(UnderAttackEvent arg)
 {
     if (_api.ValidateEvent(arg))
     {
         UnderAttack?.Invoke(_api, arg);
     }
     return(arg);
 }
Esempio n. 3
0
 public void Attacked(Direction attackedFrom = Direction.Right)
 {
     IsUnderAttack    = true;
     lastAttackedFrom = attackedFrom;
     UnderAttack?.Invoke(attackedFrom);
     rb.AddForce(new Vector2(attackedFrom.AsFloat(), OnCollisionYDirectionFactor) * OnCollisionForceMultiplier);
     StartCoroutine(FinishAttackRoutine());
 }
Esempio n. 4
0
        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();
            }
        }
Esempio n. 5
0
    public void OnUnderAttack()
    {
        Console.WriteLine($"King {this.Name} is under attack!");

        UnderAttack?.Invoke(this, new EventArgs());
    }
Esempio n. 6
0
 public void OnUnderAttack(UnderAttackEventArgs Args)
 {
     UnderAttack?.Invoke(this, Args);
 }