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, "*****"); } }
= stringBuilder.ToString();}}
UGUI采用脏标记系统,只要控件被标记为“脏”状态,就会强制刷新一遍,在每次改变了顶点或者纹理后,调用SetVerticesDirty() 或 SetMaterialDirty()即可
本文发布于:2024-02-04 11:39:55,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170706337555234.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |