private IEnumerator MoveSortButtons(int _position) { m_ButtonsMoving = true; float target; Vector3 leftScrollTarget, rightScrollTarget, rightAnchTarget, leftAnchTarget; if (_position == 0) //Move inwards { target = 2.21f; leftScrollTarget = new Vector3(m_LeftScrollPosx + target, m_LeftScroll.transform.localPosition.y, m_LeftScroll.transform.localPosition.z); rightScrollTarget = new Vector3(m_RightScrollPosx - target, m_RightScroll.transform.localPosition.y, m_RightScroll.transform.localPosition.z); rightAnchTarget = new Vector3(0.0f - target, m_RightButtonAnchor.transform.localPosition.y, m_RightButtonAnchor.transform.localPosition.z); leftAnchTarget = new Vector3(0.0f + target, m_RightButtonAnchor.transform.localPosition.y, m_RightButtonAnchor.transform.localPosition.z); if (m_LeftScroll.gameObject.activeSelf) { m_LeftScroll.SetAlpha(0.46875f); m_RightScroll.SetAlpha(0.46875f); StartCoroutine(m_LeftScroll.AlphaFade(0.0f, 0.02f)); StartCoroutine(m_RightScroll.AlphaFade(0.0f, 0.02f)); } if (m_TopScroll.gameObject.activeSelf) { m_TopScroll.SetAlpha(0.46875f); m_BotScroll.SetAlpha(0.46875f); StartCoroutine(m_TopScroll.AlphaFade(0.0f, 0.02f)); StartCoroutine(m_BotScroll.AlphaFade(0.0f, 0.02f)); } } else if (_position == 1) //Move outwards { leftScrollTarget = new Vector3(m_LeftScrollPosx, m_LeftScroll.transform.localPosition.y, m_LeftScroll.transform.localPosition.z); rightScrollTarget = new Vector3(m_RightScrollPosx, m_RightScroll.transform.localPosition.y, m_RightScroll.transform.localPosition.z); rightAnchTarget = new Vector3(0.0f, m_RightButtonAnchor.transform.localPosition.y, m_RightButtonAnchor.transform.localPosition.z); leftAnchTarget = new Vector3(0.0f, m_RightButtonAnchor.transform.localPosition.y, m_RightButtonAnchor.transform.localPosition.z); if (!m_LeftScroll.gameObject.activeSelf) { EnableHorizontalTriggers(true); m_LeftScroll.SetAlpha(0.0f); m_RightScroll.SetAlpha(0.0f); StartCoroutine(m_LeftScroll.AlphaFade(0.46875f, 0.02f)); StartCoroutine(m_RightScroll.AlphaFade(0.46875f, 0.02f)); } if (!m_TopScroll.gameObject.activeSelf) { EnableVerticalTriggers(true); m_TopScroll.SetAlpha(0.0f); m_BotScroll.SetAlpha(0.0f); StartCoroutine(m_TopScroll.AlphaFade(0.46875f, 0.01f)); StartCoroutine(m_BotScroll.AlphaFade(0.46875f, 0.01f)); } } else //Half move for when vertical scrolling is not needed. { target = 1.2f; leftScrollTarget = new Vector3(m_LeftScrollPosx + target - 0.13f, m_LeftScroll.transform.localPosition.y, m_LeftScroll.transform.localPosition.z); rightScrollTarget = new Vector3(m_RightScrollPosx - target + 0.13f, m_RightScroll.transform.localPosition.y, m_RightScroll.transform.localPosition.z); rightAnchTarget = new Vector3(0.0f - target, m_RightButtonAnchor.transform.localPosition.y, m_RightButtonAnchor.transform.localPosition.z); leftAnchTarget = new Vector3(0.0f + target, m_RightButtonAnchor.transform.localPosition.y, m_RightButtonAnchor.transform.localPosition.z); if (!m_LeftScroll.gameObject.activeSelf) { EnableHorizontalTriggers(true); m_LeftScroll.SetAlpha(0.0f); m_RightScroll.SetAlpha(0.0f); StartCoroutine(m_LeftScroll.AlphaFade(0.46875f, 0.02f)); StartCoroutine(m_RightScroll.AlphaFade(0.46875f, 0.02f)); } } float time = 2.0f * Time.deltaTime; while (Vector3.Distance(m_RightButtonAnchor.transform.localPosition, rightAnchTarget) > 0.05f) { m_RightScroll.transform.localPosition = Vector3.Lerp(m_RightScroll.transform.localPosition, rightScrollTarget, time); m_LeftScroll.transform.localPosition = Vector3.Lerp(m_LeftScroll.transform.localPosition, leftScrollTarget, time); m_RightButtonAnchor.transform.localPosition = Vector3.Lerp(m_RightButtonAnchor.transform.localPosition, rightAnchTarget, time); m_LeftButtonAnchor.transform.localPosition = Vector3.Lerp(m_LeftButtonAnchor.transform.localPosition, leftAnchTarget, time); yield return(null); } m_LeftScroll.transform.localPosition = leftScrollTarget; m_RightScroll.transform.localPosition = rightScrollTarget; m_RightButtonAnchor.transform.localPosition = rightAnchTarget; m_LeftButtonAnchor.transform.localPosition = leftAnchTarget; m_ButtonsMoving = false; }