コード例 #1
0
        //Coroutines
        IEnumerator AddRibbonLayer(TapeData td)
        {
            int ribbonLines = 0;

#if UNITY_IOS
            ribbonLines = totalLines;
#endif
            ribbonLines = totalLines - 1;

            if (lineCount < ribbonLines)
            {
                foreach (TickerRibbon tr in TextObjects[tickCount - 1].GetComponent <TextObject>().GetTickerRibbons())
                {
                    tr.MakeVisible();
                    tr.visible = true;

                    if (!td.instant)
                    {
                        yield return(new WaitForSeconds(ribbonAnimDelay));
                    }
                }
            }
            lineCount++;

            yield break;
        }
コード例 #2
0
        IEnumerator TickerTheTape(TapeData data)
        {
            WaitForSeconds delay = new WaitForSeconds(TickDelay);

            SetText(data.text);

            for (int i = 0; i < TextForDisplay.Length; i++)
            {
                //Add spaces if robot is covering
                AddStartRowSpaces();

                AddTick(TextForDisplay[i].ToString(), data.include);

                //update the text of each object so it pushes backwards
                for (int j = 0; j < tickCount; j++)
                {
                    if (j < TextObjects.Length)
                    {
                        int count = 0;
                        for (int activeTape = j; activeTape >= 0; activeTape--)
                        {
                            TextObjects[activeTape].GetComponent <TextObject>().SetText(TextForDisplay[count].ToString());
                            count++;
                        }
                    }
                }

                //Check if text is at edge of screen
                if (ticksInCurrentRow == TextGrid.GetComponent <DynamicGrid>().cellsPerRow&& tickCount > 0)
                {
                    if (!data.instant)
                    {
                        yield return(new WaitForSeconds(ribbonDelay));
                    }

                    //Add ribbon row
                    ticksInCurrentRow = 0;

                    yield return(StartCoroutine(AddRibbonLayer(data)));
                }
                if (!data.instant)
                {
                    yield return(delay);
                }
            }
            AddEndRowSpaces();

            yield break;
        }
コード例 #3
0
        IEnumerator LoadSavedMessages()
        {
            GameObject display;

            foreach (string s in savedMessages)
            {
                if (s != "")
                {
                    display = Instantiate(DisplayPrefab, gameObject.transform);
                    display.transform.SetAsFirstSibling();
                    display.GetComponent <TickerDisplay>().SetWidthAndHeight(ScreenWidthAndHeight);

                    TapeData instantData = new TapeData(s, true);
                    instantData.instant = true;

                    yield return(new WaitForFixedUpdate());

                    display.GetComponent <TickerDisplay>().StartCoroutine("TickerTheTape", instantData);
                    isTicking = false;
                }
            }
            yield break;
        }