unity避头点,避开行前标点符号

using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using UnityEngine;
using UnityEngine.UI;
public class AvoidPunctuation : Text{    
//避头点,每行第一一个文字不出现标点,继承Text    
public string CullList = @"\!|\?|\,|\。|\《|\》|\)|\:|\“|\”|\‘|\’|\、|\;|\+|\-";    
public IList<UILineInfo> lineInfos;    
public StringBuilder stringBuilder;    
public override void SetVerticesDirty()    {        
base.SetVerticesDirty();        
stringBuilder = new StringBuilder(text);        
lineInfos = cachedTextGenerator.lines;
if (text.Length<=0)
            return;        
foreach (var i in lineInfos)        {            
bool isMach = Regex.IsMatch(text[i.startCharIdx].ToString(), CullList);            
if (isMach)            {                
if (i.startCharIdx <= 0)                    
continue;                
stringBuilder.Insert(i.startCharIdx - 1, "*****");            }        }        
this.text = stringBuilder.ToString();
    }} 

UGUI采用脏标记系统,只要控件被标记为“脏”状态,就会强制刷新一遍,在每次改变了顶点或者纹理后,调用SetVerticesDirty() 或 SetMaterialDirty()即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值