//I GOT YA
    public override void SkillTwo()
    {
        if (finishedSkillTwo)
        {
            return;
        }
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            gunsight.SetActive(false);
            playerController.AbortSkillTwo();
            return;
        }
        if (Input.GetMouseButtonDown(0) && enemySelected != null)
        {
            //deactivate aim e gunsight
            gunsight.SetActive(false);
            EnemyController enContr = enemySelected.GetComponent <EnemyController>();
            enContr.DeactivateAimBox();

            //throw hook
            GameObject hookToThrow = GameObject.Instantiate(hook);
            hookToThrow.transform.position = gameObject.transform.position;
            Hook hookScript = hookToThrow.GetComponent <Hook>();
            hookScript.playerToReach = enemySelected.transform;
            NetworkServer.Spawn(hookToThrow);
            anim.SetTrigger("SkillTwo");

            //apply stun is skill is unlocked
            if (iGotYaStun)
            {
                enContr.ApplyStun(iGotYaStunDuration);
            }

            //deal damage to the enemies in the area and gets aggro on all of them
            Collider2D[] colliders = Physics2D.OverlapCircleAll(enemySelected.transform.position, iGotYaDmgArea);
            foreach (Collider2D collider in colliders)
            {
                if (collider.CompareTag(Tags.enemy))
                {
                    CmdSkillTwo(collider.gameObject);
                }
            }
            finishedSkillTwo = true;
            StartCoroutine("ResetFinishedSkillTwo");
            playerController.IncreaseUltimateCharge(ConstantsDictionary.ultiIncreaseForSkill);
            CmdComboField(enemySelected.transform.position);
            return;
        }
        //far vedere l'area intorno al fisherman in cui si possono selezionare i nemici
        gunsight.transform.position   = transform.position;
        gunsight.transform.localScale = new Vector3(iGotYaDmgArea, iGotYaDmgArea, 1);
        gunsight.SetActive(true);

        //inizializzazione variabili di ricerca
        bool    found         = false;
        Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        bool    check         = false;

        //prendo tutti i collider dove c'è il mouse
        Collider2D[]    col = Physics2D.OverlapPointAll(mousePosition);
        EnemyController controllerSelected = null;

        if (col.Length > 0)
        {
            foreach (Collider2D c in col)
            {
                if (c.gameObject.CompareTag(Tags.enemy) &&
                    (Vector2.Distance(gameObject.transform.position, c.gameObject.transform.position) < iGotYaDmgArea))
                {
                    check              = true;
                    enemySelected      = c.gameObject;
                    controllerSelected = enemySelected.GetComponent <EnemyController>();
                    controllerSelected.ActivateAimBox();
                    break;
                }
            }
        }
        if (check)
        {
            found = true;
            if (controllerSelected != lastEnemySelected)
            {
                if (lastEnemySelected != null)
                {
                    lastEnemySelected.DeactivateAimBox();
                }

                lastEnemySelected = controllerSelected;
            }
        }
        if (lastFound == true && found == false)
        {
            if (lastEnemySelected != null)
            {
                lastEnemySelected.DeactivateAimBox();
            }
            enemySelected = null;
        }
        lastFound = found;
    }