예제 #1
0
    //引数の文字列を表示する
    private void write(string aText)
    {
        TagReader tReader = new TagReader(aText);

        while (!tReader.isEnd())
        {
            TagReader.Element tElement = tReader.read();
            //1文字
            if (tElement is TagReader.OneChar)
            {
                addChar(((TagReader.OneChar)tElement).mChar);
                continue;
            }
            //開始タグ
            if (tElement is TagReader.StartTag)
            {
                applyStartTag(((TagReader.StartTag)tElement));
                continue;
            }
            //終了タグ
            if (tElement is TagReader.EndTag)
            {
                applyEndTag(((TagReader.EndTag)tElement));
                continue;
            }
            Debug.LogWarning("MyTextBoard : 文字読み込み失敗 次の文字「" + tReader.mNext.ToString() + "」");
        }
    }
예제 #2
0
    /// <summary>末尾に文字追加</summary>
    public void addLast(string aText)
    {
        TagReader tReader = new TagReader(aText);

        while (!tReader.isEnd())
        {
            TagReader.Element tElement = tReader.read();
            //1文字
            if (tElement is TagReader.OneChar)
            {
                StringElement tStringElement = StringElement.create(((TagReader.OneChar)tElement).mChar, this);
                addLast(tStringElement);
                continue;
            }
            //開始タグ
            if (tElement is TagReader.StartTag)
            {
                applyStartTag(((TagReader.StartTag)tElement));
                continue;
            }
            //終了タグ
            if (tElement is TagReader.EndTag)
            {
                applyEndTag(((TagReader.EndTag)tElement));
                continue;
            }
            Debug.LogWarning("MyTextBoard : 文字読み込み失敗 次の文字「" + tReader.mNext.ToString() + "」");
        }
        _Text += aText;
    }
예제 #3
0
 //<summary>次の1文字を表示</summary>
 public void next()
 {
     while (true)  //1文字表示するまでループ
     {
         if (mWritingState != WritingState.writing)
         {
             return;                                       //表示停止中
         }
         if (mReader.isEnd())
         {
             //全て表示終了している
             mWritingState = WritingState.end;
             //読み終わりコールバック
             if (mOnRead != null)
             {
                 mOnRead();
             }
         }
         //次の1文字もしくはタグを読んで表示
         TagReader.Element tElement = mReader.read();
         if (tElement is TagReader.OneChar)
         {
             //文字1文字
             mBoard.addText(((TagReader.OneChar)tElement).mChar);
             return;
         }
         else if (tElement is TagReader.StartTag)
         {
             //開始タグ
             if (!applyStartTag((TagReader.StartTag)tElement))
             {
                 mBoard.addText(((TagReader.StartTag)tElement).mOriginalString);
             }
             continue;
         }
         else if (tElement is TagReader.EndTag)
         {
             //終了タグ
             if (!applyEndTag((TagReader.EndTag)tElement))
             {
                 mBoard.addText(((TagReader.EndTag)tElement).mOriginalString);
             }
             continue;
         }
     }
 }