virtual protected void BaseUpdate() { if (m_CurrentState != State.Standard) { switch (m_CurrentState) { case State.Opening: UpdateOpening(); break; case State.Closing: UpdateClosing(); break; } } switch (m_CurrentPageFlipState) { case PageFlipState.Standard: //refresh our page if our index changed if (m_RequestedPageIndex != m_PageIndex) { m_PageFlipTransitionAmount = 0.0f; m_CurrentPageFlipState = PageFlipState.TransitionOut; } break; case PageFlipState.TransitionOut: UpdateTransitionOut(); break; case PageFlipState.TransitionIn: UpdateTransitionIn(); break; } }
void UpdateTransitionIn() { float fTransitionStep = m_PageFlipSpeed * Time.deltaTime; m_PageFlipTransitionAmount += fTransitionStep; if (m_PageFlipTransitionAmount >= 1.0f) { m_PageFlipTransitionAmount = 0.0f; UpdateButtonTransitionScale(1.0f); m_CurrentPageFlipState = PageFlipState.Standard; } else { // Update button scales UpdateButtonTransitionScale(m_PageFlipTransitionAmount); } }
void UpdateTransitionOut() { float fTransitionStep = m_PageFlipSpeed * Time.deltaTime; m_PageFlipTransitionAmount += fTransitionStep; if (m_PageFlipTransitionAmount >= 1.0f) { // If we're done transitioning out, flip the switch to change the textures m_PageFlipTransitionAmount = 0.0f; UpdateButtonTransitionScale(0.0f); m_CurrentPageFlipState = PageFlipState.TransitionIn; PageIndex = m_RequestedPageIndex; UpdateIndexOffset(); RefreshPage(); } else { // Update button scales UpdateButtonTransitionScale(1.0f - m_PageFlipTransitionAmount); } }
protected void PageFlipUpdate() { switch (m_CurrentPageFlipState) { case PageFlipState.Standard: // Refresh our page if our index changed if (m_RequestedPageIndex != PageIndex) { m_PageFlipTransitionAmount = 0.0f; m_CurrentPageFlipState = PageFlipState.TransitionOut; } break; case PageFlipState.TransitionOut: UpdateTransitionOut(); break; case PageFlipState.TransitionIn: UpdateTransitionIn(); break; } }
virtual protected void UpdateTransitionIn() { m_CurrentPageFlipState = PageFlipState.Standard; }
virtual protected void UpdateTransitionOut() { m_CurrentPageFlipState = PageFlipState.TransitionIn; }