// Update is called once per frame
    void Update()
    {
        var z = Input.GetAxis("Vertical") * wSpeed;
        var y = Input.GetAxis("Horizontal") * rotSpeed;

        transform.Translate(0, 0, z);
        transform.Rotate(0, y, 0);


        switch (state)
        {
        case Mages_STATE.S_IDLE:
            if (Input.GetKeyDown(KeyCode.LeftShift))
            {
                state = Mages_STATE.S_WALK;
                anim.SetTrigger("Walk");
            }

            break;

        case Mages_STATE.S_WALK:
            if (Input.GetKeyUp(KeyCode.LeftShift))
            {
                state = Mages_STATE.S_IDLE;
                anim.SetTrigger("Idle");
            }
            if (Input.GetKeyDown(KeyCode.Space))
            {
                state = Mages_STATE.S_ATTACK1;
                anim.SetTrigger("Attack1");
            }
            if (Input.GetKeyDown(KeyCode.LeftAlt))
            {
                state = Mages_STATE.S_ATTACK2;
                anim.SetTrigger("Attack2");
            }
            break;


        case Mages_STATE.S_ATTACK1:

            if (Input.GetKeyUp(KeyCode.Space))
            {
                state = Mages_STATE.S_WALK;
                anim.SetTrigger("Walk");
            }
            if (Input.GetKeyUp(KeyCode.LeftShift))
            {
                state = Mages_STATE.S_IDLE;
                anim.SetTrigger("Idle");
            }
            break;



        case Mages_STATE.S_ATTACK2:
            if (Input.GetKeyUp(KeyCode.LeftAlt))
            {
                state = Mages_STATE.S_WALK;
                anim.SetTrigger("Walk");
            }
            if (Input.GetKeyUp(KeyCode.W))
            {
                state = Mages_STATE.S_IDLE;
                anim.SetTrigger("Idle");
            }



            break;
        }
    }
 // Start is called before the first frame update
 void Start()
 {
     rb    = this.GetComponent <Rigidbody>();
     state = Mages_STATE.S_IDLE;
     anim  = GetComponent <Animator>();
 }