/// <summary>
 /// Unity Update method
 /// Update is called every frame, if the MonoBehaviour is enabled
 /// </summary>
 void Update()
 {
     if (m_State == LaserbladeState.Draw)
     {
         m_DrawTimer += Time.deltaTime;
         if (m_DrawTimer >= m_DrawTime)
         {
             m_State          = LaserbladeState.None;
             blade.localScale = new Vector3(1f, drawn_scale, 1f);
             return;
         }
         float val      = Mathf.Clamp01(m_DrawTimer / m_DrawTime);
         float curScale = Mathf.Lerp(original_scale, drawn_scale, val);
         blade.localScale = new Vector3(1f, curScale, 1f);
     }
     else if (m_State == LaserbladeState.Sheathe)
     {
         m_DrawTimer += Time.deltaTime;
         if (m_DrawTimer >= m_DrawTime)
         {
             m_State          = LaserbladeState.None;
             blade.localScale = new Vector3(1f, original_scale, 1f);
             return;
         }
         float val      = Mathf.Clamp01(m_DrawTimer / m_DrawTime);
         float curScale = Mathf.Lerp(drawn_scale, original_scale, val);
         blade.localScale = new Vector3(1f, curScale, 1f);
     }
 }
        /// <summary>
        /// play sheathe blade clip and start scaling blade transform
        /// </summary>
        public void sheatheBlade()
        {
            if (!m_Drawn)
            {
                return;
            }

            m_State     = LaserbladeState.Sheathe;
            m_DrawTimer = 0.0f;
            m_AudioSource.Stop();
            AudioSource.PlayClipAtPoint(sheatheClip, transform.position);
            m_Drawn = false;
        }
        /// <summary>
        /// play draw blade clip and start scaling blade transform
        /// </summary>
        public void drawBlade()
        {
            if (m_Drawn)
            {
                return;
            }

            m_State     = LaserbladeState.Draw;
            m_DrawTimer = 0.0f;
            AudioSource.PlayClipAtPoint(drawClip, transform.position);
            m_AudioSource.Play();
            m_Drawn = true;
        }