public Attack_Dir_Enmu update_radom_value()
 {
     int min = Convert.ToInt32(Attack_Dir_Enmu.right);
     int max = Convert.ToInt32(Attack_Dir_Enmu.low)+1;
     attack_dir = (Attack_Dir_Enmu)UnityEngine.Random.Range(min, max);
     return attack_dir;
 }
    void FixedUpdate()
    {
        axisX = Input.GetAxis("Vertical");
        axisY = Input.GetAxis("Horizontal");

        MouseX = Input.GetAxis("Mouse X");
        MouseY = Input.GetAxis("Mouse Y");
        Mouse_SW = Input.GetAxis("Mouse ScrollWheel");
        Mouse_left_down = Input.GetMouseButtonDown(0);
        Mouse_right_down = Input.GetMouseButtonDown(1);
        Mouse_left_up = Input.GetMouseButtonUp(0);
        Mouse_right_up = Input.GetMouseButtonUp(1);

        Mouse_left_pressed = Input.GetMouseButton(0);
        Mouse_right_pressed = Input.GetMouseButton(1);

        cam_rotate = Input.GetKey(KeyCode.R);
        doJumpDown = Input.GetButtonDown("Jump");
        bool jumpOffNext = false;
        grounded = Physics.Raycast(hero.position + hero.up * capsuleCollider.center.y,hero.up * -1, out groundHit, groundedDistance, groundLayers);

        animator.SetFloat("MouseX", MouseX, setFloatDampTime, Time.deltaTime);
        animator.SetFloat("AxisX", axisX, setFloatDampTime, Time.deltaTime);
        animator.SetFloat("AxisY", axisY, setFloatDampTime, Time.deltaTime);

        desDist -= Mouse_SW * Time.deltaTime * zoomRate * Mathf.Abs(desDist);
        desDist = Mathf.Clamp(desDist, minDistance, maxDistance);

        animator.SetBool("Grounded", grounded);

        if (Input.GetKey(KeyCode.W))
        {
            hero.transform.Translate(Vector3.forward * Time.deltaTime * 3.5f);
        }
        if (Input.GetKey(KeyCode.S))
        {
            hero.transform.Translate(Vector3.back * Time.deltaTime * 3.5f);
        }
        if (Input.GetKey(KeyCode.A))
        {
            hero.transform.Translate(Vector3.left * Time.deltaTime * 3.5f);
        }
        if (Input.GetKey(KeyCode.D))
        {
            hero.transform.Translate(Vector3.right * Time.deltaTime * 3.5f);
        }

        if (grounded)
        {
            if (doJumpDown)
            {
                animator.SetBool("Jump", true);
                rigidbody.velocity = hero.up * jumpHeight;
            }
        }

        if (cam_rotate)
        {
            calculate_angl();
            camRot = Quaternion.Euler(yAngl, xAngl, 0);
        }
        else if (Mouse_right_pressed)
        {
            calculate_angl();
            camRot = Quaternion.Euler(yAngl, xAngl, 0);

            Quaternion rotate = Quaternion.Euler(0, xAngl, 0);
            hero.transform.rotation = Quaternion.Lerp(transform.rotation, rotate, rotate_time);
        }

        Vector3 headPos = new Vector3(0, -heroHeight / 1.2f, 0);
        Vector3 camPos = hero.position - (camRot * Vector3.forward * desDist + headPos);

        cam.transform.rotation = camRot;
        cam.transform.position = camPos;

        if (Mouse_left_pressed)
        {
            if (Mathf.Abs(MouseX) >= Mathf.Abs(MouseY))
            {
                if (MouseX > 0.3)
                {
                    attack_dir = Attack_Dir_Enmu.left;
                }
                else if(MouseX < -0.3)
                {
                    attack_dir = Attack_Dir_Enmu.right;
                }

            }
            else
            {
                if (MouseY > 0.3)
                {
                    attack_dir = Attack_Dir_Enmu.high;
                }
                else if (MouseY < -0.3)
                {
                    attack_dir = Attack_Dir_Enmu.low;
                }
            }

            animator.SetInteger("Attack_Dir", (int)attack_dir);
            animator.SetBool("Attack_Down", false);
            animator.SetBool("Attack_Up", true);
        }
        else
        {
            animator.SetBool("Attack_Up", false);
            animator.SetBool("Attack_Down", true);
        }

        if (Mouse_right_pressed)
        {
            if (Mathf.Abs(MouseX) >= Mathf.Abs(MouseY))
            {
                if (MouseX > 0.3)
                {
                    attack_dir = Attack_Dir_Enmu.left;
                }
                else if (MouseX < -0.3)
                {
                    attack_dir = Attack_Dir_Enmu.right;
                }

            }
            else
            {
                if (MouseY > 0.3)
                {
                    attack_dir = Attack_Dir_Enmu.high;
                }
                else if (MouseY < -0.3)
                {
                    attack_dir = Attack_Dir_Enmu.low;
                }
            }
            animator.SetInteger("Attack_Dir", (int)attack_dir);

            animator.SetBool("Attack_Canneled", true);
        }
        else
        {
            animator.SetBool("Attack_Canneled", false);
        }
    }
 public Attack_Parameter()
 {
     attack_dir = Attack_Dir_Enmu.high;
 }
 IEnumerator wave_weapon(Attack_Dir_Enmu attack_dir)
 {
     animator.SetInteger("Attack_Dir", (int)attack_dir);
     animator.SetBool("Attack", true);
     yield return new WaitForSeconds(1);
     animator.SetBool("Attack", false);
 }