Esempio n. 1
0
    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>();
    }
Esempio n. 2
0
    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);
        }
    }
Esempio n. 3
0
    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);
        }
    }
Esempio n. 4
0
    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);
        }
    }
Esempio n. 5
0
    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;
        }
    }