void Update()
    {
        //Actualizamos la posicion del Gizmo (para que pueda apuntar segun la direccion del jugador)

        if (playerScpript.movimiento != Vector2.zero)
        {
            Point.transform.position = new Vector3(playerScpript.transform.position.x + playerScpript.movimiento.x / 2,
                                                   playerScpript.transform.position.y + playerScpript.movimiento.y / 2, 0);
        }



        //Configuracion del Ataque Especial.

        if (Input.GetKeyDown(KeyCode.LeftAlt))
        {
            Combat_Anim.SetTrigger("Charge");
            PS_Aura.ParticleStart();
            //Enviamos "false" al metodo P_Mov para que el personaje no se pueda mover mientras carga el ataque.
            playerScpript.P_Mov(true);
        }
        else if (Input.GetKeyUp(KeyCode.LeftAlt))
        {
            //Ahora conseguiremos el angulo del personaje a través del vector
            Combat_Anim.SetTrigger("Attack");
            if (PS_Aura.IsLoaded())
            {
                float Angle = Mathf.Atan2(
                    Combat_Anim.GetFloat("MovY"), Combat_Anim.GetFloat("MovX")) * Mathf.Rad2Deg;
                //El mathf.rad2deg sirve para convertir los vectores en angulos.

                GameObject SpecialShoot_Object = Instantiate(PS_Slash, Point.transform.position, Quaternion.AngleAxis(Angle, Vector3.forward));
                // Movimiento inicial del Poder

                PowerShoot Slash = SpecialShoot_Object.GetComponent <PowerShoot>();
                Slash.PS_Mov.x = Combat_Anim.GetFloat("MovX");
                Slash.PS_Mov.y = Combat_Anim.GetFloat("MovY");
            }
            PS_Aura.ParticleStop();
            //Configuramos la espera del player para que se pueda mover despues de tirar la habilidad.
            StartCoroutine(EnableMovementAfterAttack(0.5f));
        }

        // LLamamos al metodo Ataque cada vez que este disponible el "CD de Ataque"
        if (Time.time >= NextAttackTime)
        {
            if (Input.GetKeyDown(KeyCode.Space))
            {
                Attack();
                NextAttackTime = Time.time + 1f / AttackRate;
            }
        }
    }
    void Update()
    {
        //Aktualizacja gizmo

        if (playerScpript.movimiento != Vector2.zero)
        {
            Point.transform.position = new Vector3(playerScpript.transform.position.x + playerScpript.movimiento.x / 2,
                                                   playerScpript.transform.position.y + playerScpript.movimiento.y / 2, 0);
        }



        //Specjalna konfiguracja ataku

        if (Input.GetKeyDown(KeyCode.LeftAlt))
        {
            Combat_Anim.SetTrigger("Charge");
            PS_Aura.ParticleStart();
            //Nie można sie poruszać podczas ataku
            playerScpript.P_Mov(true);
        }
        else if (Input.GetKeyUp(KeyCode.LeftAlt))
        {
            Combat_Anim.SetTrigger("Attack");
            if (PS_Aura.IsLoaded())
            {
                float Angle = Mathf.Atan2(
                    Combat_Anim.GetFloat("MovY"), Combat_Anim.GetFloat("MovX")) * Mathf.Rad2Deg;
                //Służy do konwersji wektorów na kąty

                GameObject SpecialShoot_Object = Instantiate(PS_Slash, Point.transform.position, Quaternion.AngleAxis(Angle, Vector3.forward));


                PowerShoot Slash = SpecialShoot_Object.GetComponent <PowerShoot>();
                Slash.PS_Mov.x = Combat_Anim.GetFloat("MovX");
                Slash.PS_Mov.y = Combat_Anim.GetFloat("MovY");
            }
            PS_Aura.ParticleStop();
            StartCoroutine(EnableMovementAfterAttack(0.5f));
        }
        if (Time.time >= NextAttackTime)
        {
            if (Input.GetKeyDown(KeyCode.Space))
            {
                Attack();
                NextAttackTime = Time.time + 1f / AttackRate;
            }
        }
    }