void Awake() { if (mInstance != null) { Debug.LogError("Only one instance of TipAgent allowed. Destroying " + gameObject + " and leaving " + mInstance.gameObject); Destroy(gameObject); return; } mInstance = this; deck = new List <int>(); }
private IEnumerator DoNavigation(float toX) { if (currentState == State.Printing) { ChangeState(State.Paused); } float fromX = CameraAgent.MainCameraObject.transform.localPosition.x; float currentTime = 0f; float lerp; do { currentTime += Time.deltaTime; lerp = Mathf.Clamp01(currentTime / navigationDuration); lerp = Mathf.Pow(lerp, 0.5f); //lerp = 3f * Mathf.Pow( lerp, 2f ) - 2f * Mathf.Pow( lerp, 3f ); SetCameraX(Mathf.Lerp(fromX, toX, lerp)); yield return(null); } while(currentTime < navigationDuration); SetCameraX(toX); UpdateNavigationHighlight(true); if (currentState == State.Ready && currentScreenX == 0f) { SetUIEnabled(false); TipAgent.SetTipEnabled(true); UpdateNavigationHighlight(true); } if (currentScreenX < 0f) { AnalyticsAgent.LogAnalyticEvent(AnalyticsAgent.AnalyticEvent.SettingsScreen); } if (currentScreenX > 0f) { AnalyticsAgent.LogAnalyticEvent(AnalyticsAgent.AnalyticEvent.StoreScreen); } }
private void UpdateNavigationHighlight(bool canShow) { bool shouldShowTip = canShow && CameraAgent.MainCameraObject.transform.localPosition.x == 0f && !wasDragging && showUI; TipAgent.SetTipEnabled(shouldShowTip); if (navigationImage) { navigationImage.enabled = shouldShowTip; } bool shouldShowDots = canShow && (CameraAgent.MainCameraObject.transform.localPosition.x != 0f || showUI); if (settingsIndent) { settingsIndent.enabled = shouldShowDots; } if (mainIndent) { mainIndent.enabled = shouldShowDots; } if (storeIndent) { storeIndent.enabled = shouldShowDots; } if (settingsHighlight) { settingsHighlight.enabled = (shouldShowDots && currentScreenX == Screen.width * -1f); } if (mainHighlight) { mainHighlight.enabled = (shouldShowDots && currentScreenX == 0f); } if (storeHighlight) { storeHighlight.enabled = (shouldShowDots && currentScreenX == Screen.width); } }
void OnApplicationPause(bool pauseStatus) { if (pauseStatus) { if (currentState == State.Printing) { ChangeState(State.Paused); TipAgent.ShowFirstTip(); } if (currentState == State.Paused || currentState == State.Finished) { TipAgent.ShowFirstTip(); } } if (!pauseStatus && currentState == State.Advertising) { ChangeState(State.Finished); } }
private void internalChangeState(State newState) { if (currentState == newState) { return; } currentState = newState; switch (currentState) { case State.Ready: { showUI = true; SetUIEnabled(false); TipAgent.ShowFirstTip(); UpdateNavigationHighlight(true); ColorAgent.AdvanceColorPack(); SpriteAgent.ClearSpriteNames(); BoardAgent.ResetBoard(); ShuffleDeck(); colorOffset = Random.Range(0f, 360f); SpriteAgent.Randomize(); index = 0; } break; case State.Printing: { SetUIEnabled(false); speed = (float)BoardAgent.BoardSize / fillTime; SpriteAgent.LogSpriteName(); AudioAgent.PlaySoundEffect(AudioAgent.SoundEffectType.Print, fillTime); AudioAgent.PitchSoundEffect(AudioAgent.SoundEffectType.Print, 1f); if (index == 0) { StartCoroutine("DoPrint"); } } break; case State.Paused: { TipAgent.ShowNextTip(); SetUIEnabled(true); speed = 0f; AudioAgent.PauseSoundEffect(AudioAgent.SoundEffectType.Print); } break; case State.FastForwarding: { SetUIEnabled(false); speed = (float)BoardAgent.BoardSize / fillTime * 5f; AudioAgent.PitchSoundEffect(AudioAgent.SoundEffectType.Print, 2f); wasFastForwarding = true; } break; case State.Finished: { showUI = true; TipAgent.ShowNextTip(); SetUIEnabled(true); } break; case State.Advertising: { SetUIEnabled(false); RatingAgent.CheckForPrompt(); //AdAgent.ShowInterstitialImage(); } break; } }