private void UpdateBlade()
 {
     if (_currentState == BladeState.Activated && BladeObject.localScale.y <= MaxLength)
     {
         if (!BladeObject.gameObject.activeSelf)
         {
             BladeObject.gameObject.SetActive(true);
         }
         BladeObject.localScale    = new Vector3(BladeObject.localScale.x, BladeObject.localScale.y + GrowthRate * Time.deltaTime, BladeObject.localScale.z);
         BladeObject.localPosition = new Vector3(BladeObject.localPosition.x, BladeObject.localPosition.y + GrowthRate / 2 * Time.deltaTime, BladeObject.localPosition.z);
     }
     else if (_currentState == BladeState.Activated && BladeObject.localScale.y >= MaxLength)
     {
         _currentState             = BladeState.Constant;
         BladeObject.localScale    = new Vector3(BladeObject.localScale.x, MaxLength, BladeObject.localScale.z);
         BladeObject.localPosition = new Vector3(_bladeStartPos.x, _bladeStartPos.y + MaxLength / 2, _bladeStartPos.z);
     }
     if (_currentState == BladeState.Deactivated && BladeObject.localScale.y > 0.1f)
     {
         BladeObject.localScale    = new Vector3(BladeObject.localScale.x, BladeObject.localScale.y - GrowthRate * Time.deltaTime, BladeObject.localScale.z);
         BladeObject.localPosition = new Vector3(BladeObject.localPosition.x, BladeObject.localPosition.y - GrowthRate / 2 * Time.deltaTime, BladeObject.localPosition.z);
     }
     else if (_currentState == BladeState.Deactivated && BladeObject.localScale.y <= 0.1f)
     {
         _currentState = BladeState.Off;
         if (BladeObject.gameObject.activeSelf)
         {
             BladeObject.gameObject.SetActive(false);
         }
     }
 }
 public void ToggleBlade()
 {
     if (_currentState == BladeState.Off)
     {
         _currentState = BladeState.Activated;
     }
     else if (_currentState == BladeState.Constant)
     {
         _currentState = BladeState.Deactivated;
     }
 }
 public void DeactivateBlade()
 {
     _currentState = BladeState.Deactivated;
 }
 public void ActivateBlade()
 {
     _currentState = BladeState.Activated;
 }