public bool Attack(ITakerDamag target)
 {
     if (_attackCooldown <= 0.0f)
     {
         int damag = _thisStats.Damag.GetValue();
         target.TakeDamag(damag);
         _attackCooldown = 1.0f / _attackSpeed;
         EventOnAttack();
         return(true);
     }
     return(false);
 }
Пример #2
0
        private void Update()
        {
            KeyCode keyCode = 0;

            if (Input.GetKeyDown(KeyCode.M))
            {
                keyCode = KeyCode.M;
            }
            else if (Input.GetKeyDown(KeyCode.H))
            {
                keyCode = KeyCode.H;
            }

            if (keyCode != 0)
            {
                //Debug.Log("TestDamagDealer->Update:");
                Ray        ray = _camera.ScreenPointToRay(Input.mousePosition);
                RaycastHit hit;

                if (Physics.Raycast(ray, out hit, 100f, _mask))
                {
                    ITakerDamag damagReceiver = hit.collider.transform.GetComponent <ITakerDamag>();
                    if (damagReceiver != null)
                    {
                        if (keyCode == KeyCode.M)
                        {
                            damagReceiver.TakeDamag(_damag);
                        }

                        if (keyCode == KeyCode.H)
                        {
                            damagReceiver.TakeHealing(_healing);
                        }
                    }
                }
            }
        }