private void HitOnHead()
    {
        switch (_enemy.EnemyType)
        {
        case EnemyType.Shark:

            int damage = 0;

            if (_cardController.ActiveCard != null)
            {
                switch (_cardController.ActiveCard.CardType)
                {
                case CardType.HP:
                    damage = _player.CountDamage(_enemy._probabilityOnHead, 0, 0);
                    break;

                case CardType.HP2:
                    damage = _player.CountDamage(_enemy._probabilityOnHead, 0, 0);
                    break;

                //case CardType.King:
                //    break;
                case CardType.Octosmash:
                    damage = _player.CountDamage(_enemy._probabilityOnHead, -0.5f, 5);
                    _cardController.RemoveActiveCArd();
                    _ui.CloseActiveCard();
                    break;

                case CardType.Octosmash2:
                    damage = _player.CountDamage(_enemy._probabilityOnHead, -1f, 10);
                    _cardController.RemoveActiveCArd();
                    _ui.CloseActiveCard();
                    break;

                case CardType.Octosmash3:
                    damage = _player.CountDamage(_enemy._probabilityOnHead, -1.5f, 15);
                    _cardController.RemoveActiveCArd();
                    _ui.CloseActiveCard();
                    break;

                case CardType.Random:
                    BaseCard temp = _cardController.CreateRandomCard();

                    if (temp != null)
                    {
                        switch (temp.CardType)
                        {
                        case CardType.HP:
                            damage = _player.CountDamage(_enemy._probabilityOnHead, 0, 0);
                            temp.UseCard();
                            break;

                        case CardType.HP2:
                            damage = _player.CountDamage(_enemy._probabilityOnHead, 0, 0);
                            temp.UseCard();
                            break;

                        //case CardType.King:
                        //    break;
                        case CardType.Octosmash:
                            damage = _player.CountDamage(_enemy._probabilityOnHead, -0.5f, 5);
                            _cardController.RemoveActiveCArd();
                            temp.UseCard();
                            _ui.CloseActiveCard();
                            break;

                        case CardType.Octosmash2:
                            damage = _player.CountDamage(_enemy._probabilityOnHead, -1f, 10);
                            _cardController.RemoveActiveCArd();
                            temp.UseCard();
                            _ui.CloseActiveCard();
                            break;

                        case CardType.Octosmash3:
                            damage = _player.CountDamage(_enemy._probabilityOnHead, -1.5f, 15);
                            _cardController.RemoveActiveCArd();
                            temp.UseCard();
                            _ui.CloseActiveCard();
                            break;

                        case CardType.Watch:
                            damage = _player.CountDamage(_enemy._probabilityOnHead, 3f, -4);
                            _cardController.RemoveActiveCArd();
                            temp.UseCard();
                            _ui.CloseActiveCard();
                            break;

                        case CardType.Watch2:
                            damage = _player.CountDamage(_enemy._probabilityOnHead, 6, -8);
                            _cardController.RemoveActiveCArd();
                            temp.UseCard();
                            _ui.CloseActiveCard();
                            break;
                            //case CardType.Aquaman:
                            //    break;
                        }
                    }

                    break;

                case CardType.Watch:
                    damage = _player.CountDamage(_enemy._probabilityOnHead, 3f, -4);
                    _cardController.RemoveActiveCArd();
                    _ui.CloseActiveCard();
                    break;

                case CardType.Watch2:
                    damage = _player.CountDamage(_enemy._probabilityOnHead, 6, -8);
                    _cardController.RemoveActiveCArd();
                    _ui.CloseActiveCard();
                    break;
                    //case CardType.Aquaman:
                    //    break;
                }
            }
            else
            {
                damage = _player.CountDamage(_enemy._probabilityOnHead, 0, 0);
            }

            if (damage != 0)
            {
                damage = damage * _damageOnHead;
                _enemy.SetDamage(damage);
                _ui.Text("-" + damage.ToString(), _enemy.transform.position, false);
            }
            else
            {
                _ui.Text("MISS", _enemy.transform.position, false);
            }

            break;
        }
    }