private void UpdatePosition(float p_deltaTime, Vector2 p_destination) { mg_if_EHookMovement mg_if_EHookMovement2 = mg_if_EHookMovement.NOT_MOVING; if (!Mathf.Approximately(p_destination.y, base.transform.localPosition.y)) { Vector2 vector = base.transform.localPosition; if (p_destination.y > base.transform.localPosition.y) { vector.y = Mathf.Min(m_top.y, p_destination.y, base.transform.localPosition.y + m_hookSpeed * p_deltaTime); mg_if_EHookMovement2 = mg_if_EHookMovement.MOVING_UP; } else { vector.y = Mathf.Max(m_bottom.y, p_destination.y, base.transform.localPosition.y - m_hookSpeed * p_deltaTime); mg_if_EHookMovement2 = mg_if_EHookMovement.MOVING_DOWN; } if (m_hookJustDropped) { vector.y = p_destination.y; m_hookJustDropped = false; } if ((mg_if_EHookMovement2 == mg_if_EHookMovement.MOVING_DOWN && vector.y < p_destination.y) || (mg_if_EHookMovement2 == mg_if_EHookMovement.MOVING_UP && vector.y > p_destination.y)) { vector.y = p_destination.y; mg_if_EHookMovement2 = mg_if_EHookMovement.NOT_MOVING; } else if (Mathf.Approximately(vector.y, m_bottom.y) || Mathf.Approximately(vector.y, m_top.y)) { mg_if_EHookMovement2 = mg_if_EHookMovement.NOT_MOVING; } base.transform.localPosition = vector; } SetMovement(mg_if_EHookMovement2); }
private void SetMovement(mg_if_EHookMovement p_newMovement) { if (p_newMovement != m_movement) { m_movement = p_newMovement; StopSFX(); if (m_movement == mg_if_EHookMovement.MOVING_DOWN) { MinigameManager.GetActive().PlaySFX("mg_if_sfx_LineLowerLoop"); } else if (m_movement == mg_if_EHookMovement.MOVING_UP) { MinigameManager.GetActive().PlaySFX("mg_if_sfx_LineRaiseLoop"); } } }