public void OnStateEnd(WeaponAnimateState new_state)
 {
     weaponAnimator.SetBool("FireState", false);
     weaponAnimator.SetBool("DropState", false);
     weaponAnimator.SetBool("PickUpState", false);
     if (animationState == WeaponAnimateState.Drop)
     {
         gameObject.SetActive(false);
     }
     animationState = new_state;
 }
        public void SetAnimationState(WeaponAnimateState state)
        {
            animationState = state;
            switch (animationState)
            {
            case WeaponAnimateState.Idle:
                break;

            case WeaponAnimateState.Drop:
                weaponAnimator.SetBool("DropState", true);
                StartCoroutine(WaitForAnimationEnd());
                break;

            case WeaponAnimateState.PickUp:
                weaponAnimator.SetBool("PickUpState", true);
                StartCoroutine(WaitForAnimationEnd());
                break;

            case WeaponAnimateState.Fire:
                weaponAnimator.SetBool("FireState", true);
                StartCoroutine(WaitForAnimationEnd());
                break;
            }
        }