public void Attack(bool isPlayer)
    {
        if (CanAttack)
        {
            shootCooldown = shootingRate;

            // Create a new shot
            var shotTransform = Instantiate(shotPrefab) as Transform;
            Destroy(shotTransform.gameObject, 2f);

            // Assign position
            shotTransform.position = transform.position;

            // The is enemy property
            Enemy_Shoot shot = shotTransform.gameObject.GetComponent <Enemy_Shoot>();
            if (shot != null)
            {
                shot.isPlayerShot = isPlayer;
            }

            // Fireball Movement
            Shoot_move move = shotTransform.gameObject.GetComponent <Shoot_move>();

            if (!move)
            {
                move.direction = this.transform.right;
            }
            else
            {
                // Change the facing and direction of fireball
                var player    = GameObject.Find("Level/2-Foreground/Player");
                var direction = (player.transform.position - transform.position).normalized;
                move.direction = direction;

                if (transform.localScale.x < 0)
                {
                    move.transform.localScale = new Vector3(-1f, move.transform.localScale.y, move.transform.localScale.z);
                }
                else
                {
                    move.transform.localScale = new Vector3(1f, move.transform.localScale.y, move.transform.localScale.z);
                }
            }
        }
    }
    public void Attack(bool isEnemy)
    {
        if (CanAttack)
        {
            shootCooldown = shootingRate;

            // Create a new shot
            var shotTransform = Instantiate(shotPrefab) as Transform;
            Destroy(shotTransform.gameObject, 2f);

            // Assign position
            shotTransform.position = transform.position - Vector3.up;

            // The is enemy property
            Shoot shot = shotTransform.gameObject.GetComponent <Shoot>();
            if (shot != null)
            {
                shot.isEnemyShot = isEnemy;
            }

            // Fireball Movement
            Shoot_move move = shotTransform.gameObject.GetComponent <Shoot_move>();

            if (!move)
            {
                move.direction = this.transform.right;
            }
            else
            {
                // Change the facing and direction of fireball
                if (transform.localScale.x < 0)
                {
                    move.direction.x          = -1;
                    move.transform.localScale = new Vector3(-0.5f, move.transform.localScale.y, move.transform.localScale.z);
                }
                else
                {
                    move.direction.x          = 1;
                    move.transform.localScale = new Vector3(0.5f, move.transform.localScale.y, move.transform.localScale.z);
                }
            }
        }
    }