public void ReleaseFish()
 {
     if (m_caughtFish != null)
     {
         m_caughtFish.OnReleased();
         m_caughtFish = null;
         State        = mg_if_EHookState.BAITED;
     }
 }
 public void CatchFish()
 {
     if (m_caughtFish != null)
     {
         m_caughtFish.OnCaught();
         m_rod.OnFishCaught();
         m_caughtFish = null;
         State        = mg_if_EHookState.BAITED;
     }
 }
 public void OnTriggerEnter2D(Collider2D p_other)
 {
     if (p_other.gameObject.name == "mg_if_OutOfWaterCheck")
     {
         m_animator.SetBool(ANIM_IN_WATER, value: false);
     }
     else if (State == mg_if_EHookState.BAITED && !m_logic.GameOver)
     {
         mg_if_Fish componentInParent = p_other.GetComponentInParent <mg_if_Fish>();
         if (componentInParent != null && componentInParent.FishState == mg_if_EFishState.STATE_SWIMMING)
         {
             State        = mg_if_EHookState.CAUGHT_YELLOW;
             m_caughtFish = componentInParent;
             m_caughtFish.OnHooked(this);
         }
     }
     else
     {
         CheckObstacleCollision(p_other);
     }
 }