Ejemplo n.º 1
0
        //描画用の頂点情報を追加(文字送りに対応)
        internal void AddDrawVertex(List <UIVertex> verts, Vector2 endPosition, UguiNovelTextGenerator generator)
        {
            if (!TopCharacter.IsVisible)
            {
                return;
            }

            float xMin = TopCharacter.PositionX;
            float xMax = TopCharacter.EndPositionX;

            foreach (UguiNovelTextCharacter c in stringData)
            {
                if (!c.IsVisible)
                {
                    break;
                }
                xMax = Mathf.Max(xMax, c.EndPositionX);
            }
            Color color = Color.white;

            foreach (UguiNovelTextCharacter c in stringData)
            {
                if (!c.IsVisible)
                {
                    break;
                }
                if (c.Verts != null)
                {
                    color = c.Verts[0].color;
                }
            }
            CharacteData.Width = xMax - xMin;
            CharacteData.MakeVerts(color, generator);
            verts.AddRange(CharacteData.Verts);
        }
Ejemplo n.º 2
0
        //描画用の頂点情報を取得(文字送りに対応)
        internal List <UIVertex> GetDrawVertex(Vector2 endPosition, UguiNovelTextGenerator generator)
        {
            List <UIVertex> list = new List <UIVertex>();

            if (!TopCharaceter.IsVisible)
            {
                return(list);
            }

            float xMin = TopCharaceter.PositionX;
            float xMax = TopCharaceter.EndPositionX;

            foreach (UguiNovelTextCharacter c in stringData)
            {
                if (!c.IsVisible)
                {
                    break;
                }
                xMax = c.EndPositionX;
            }
            CharacteData.Width = xMax - xMin;
            CharacteData.MakeVerts(TopCharaceter.Verts[0].color, generator);
            list.AddRange(CharacteData.Verts);
            return(list);
        }
Ejemplo n.º 3
0
        //位置情報の初期化
        internal void InitPosition(UguiNovelTextGenerator generator)
        {
            //文字からの表示位置のオフセット
            Vector2 offset = Vector2.zero;

            float height = textLine.MaxFontSize;

            //高さを合わせる
            switch (LineType)
            {
            case Type.UnderLine:
                offset.y -= height / 2;
                break;

            case Type.Strike:
                break;
            }

            CharacteData.InitPositionX(TopCharacter.PositionX + offset.x);
            CharacteData.InitPositionY(TopCharacter.PositionY + offset.y);
        }