public void StartApp()
    {
        titleScreenPhase = TitleScreenPhase.kFadingIn;
        //resourcesLoadedYet = false;
        titlePhaseStart = 0.0f;
        titlePhaseEnd   = 0.28f;

        titleScreenPhase = TitleScreenPhase.kShowing;
        //titlePhaseStart = loadingTimeSoFar;
        titlePhaseEnd = 0.0f + 3.0f;

        currentScreen = TitleScreensEnum.kChillingoBanner;
        finished      = false;
    }
    public void Render()
    {
        float loadingTimeSoFar = Default.Namespace.Globals.g_main.GetTimeSinceLoadingStarted();

        //Debug.Log ("loadingTimeSoFar = " + loadingTimeSoFar.ToString());

        float       ratio = 0.0f;
        const float kFadeSpeedForScreen  = 0.28f;
        const float kTimeChillingoScreen = 3.0f;
        const float kTimeGreenAntScreen  = 2.0f;
        const float kTimeBetweenScreens  = 0.6f;

        if (titleScreenPhase == TitleScreenPhase.kFadingIn)
        {
            ratio = Default.Namespace.Utilities.GetRatioP1P2((float)loadingTimeSoFar, (float)titlePhaseStart, (float)titlePhaseEnd);

            if (ratio >= 1.0f)
            {
                titleScreenPhase = TitleScreenPhase.kShowing;
                titlePhaseStart  = loadingTimeSoFar;
                titlePhaseEnd    = loadingTimeSoFar + kTimeChillingoScreen;

                Debug.Log("Set titleState to " + titleScreenPhase.ToString() + " with phaseStart " + titlePhaseStart.ToString() + " and phaseEnd " + titlePhaseEnd.ToString());
            }
        }
        else if (titleScreenPhase == TitleScreenPhase.kFadingOut)
        {
            ratio = 1.0f - Default.Namespace.Utilities.GetRatioP1P2((float)loadingTimeSoFar, (float)titlePhaseStart, (float)titlePhaseEnd);

            if (ratio <= 0.0f)
            {
                titleScreenPhase = TitleScreenPhase.kBetweenScreens;
                titlePhaseStart  = loadingTimeSoFar;
                titlePhaseEnd    = loadingTimeSoFar + kTimeBetweenScreens;

                Debug.Log("Set titleState to " + titleScreenPhase.ToString() + " with phaseStart " + titlePhaseStart.ToString() + " and phaseEnd " + titlePhaseEnd.ToString());
            }
        }
        else if (titleScreenPhase == TitleScreenPhase.kBetweenScreens)
        {
            ratio = 0.0f;

            if (loadingTimeSoFar >= titlePhaseEnd)
            {
                if (currentScreen == TitleScreensEnum.kChillingoBanner)
                {
                    titleScreenPhase = TitleScreenPhase.kFadingIn;
                    titlePhaseStart  = loadingTimeSoFar;
                    titlePhaseEnd    = loadingTimeSoFar + kFadeSpeedForScreen;
                    currentScreen    = TitleScreensEnum.kGreenAnt;

                    Debug.Log("Set titleState to " + titleScreenPhase.ToString() + " with phaseStart " + titlePhaseStart.ToString() + " and phaseEnd " + titlePhaseEnd.ToString());
                }
                else
                {
                    finished = true;
                }
            }
        }
        else if (titleScreenPhase == TitleScreenPhase.kShowing)
        {
            ratio = 1.0f;

            bool loadDone = true;

            if (currentScreen == TitleScreensEnum.kChillingoBanner)
            {
                loadDone = Default.Namespace.Globals.g_main.loadDone;
            }

            if ((loadingTimeSoFar >= titlePhaseEnd) && (loadDone))
            {
                if (currentScreen == TitleScreensEnum.kChillingoBanner)
                {
                    titleScreenPhase = TitleScreenPhase.kFadingOut;
                    titlePhaseStart  = loadingTimeSoFar;
                    titlePhaseEnd    = loadingTimeSoFar + kFadeSpeedForScreen;

                    Debug.Log("Set titleState to " + titleScreenPhase.ToString() + " with phaseStart " + titlePhaseStart.ToString() + " and phaseEnd " + titlePhaseEnd.ToString());
                }
                else
                {
                    finished = true;
                }
            }
        }
        else
        {
            Default.Namespace.Globals.Assert(false);
        }

        switch (currentScreen)
        {
        case TitleScreensEnum.kChillingoBanner:
            this.RenderChillingoScreen(ratio);
            break;

        case TitleScreensEnum.kGreenAnt:
            this.RenderGreenAntScreen(ratio);
            break;
        }

//	this.RenderChillingoScreen(1.0f);
    }