协程屏蔽字库

来源:互联网 发布:java核心技术第10版 编辑:程序博客网 时间:2024/05/29 12:10
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System.IO;


public class GoBehaviourScript : MonoBehaviour {


    string[] SentWords = null;
    ///<summary>
    ///协程读取文件
    ///</summary>
    IEnumerator LoadWWW()
    {
        WWW www;
        if (Application.platform == RuntimePlatform.Android)
        {
            www = new WWW(Application.streamingAssetsPath + "/" + "Senticaswords.txt");
        }
        else
        {
            www = new WWW("file://" + Application.streamingAssetsPath + "/" + "Senticaswords.txt");
        }
        yield return www;


        if(!(www.Equals("") || www.Equals(null)))
        {
            //Debug.Log(www.text);
            SentWords = www.text.Split('、');
        }
    }




    void Start()
    {
        StartCoroutine("LoadWWW");
        transform.GetComponent<InputField>().onValueChange.AddListener(OnValueChanged);
    }


    public void OnValueChanged(string t)
    {
        if(SentWords == null)
        {
            return;
        }


        foreach (string ssr in SentWords)
        {
            if (t.Contains(ssr))
            {
                if (!ssr.Equals(""))
                {
                    Debug.Log("包含敏感词:" + ssr + "请替换");
                    string stt = transform.GetComponent<InputField>().text;
                    int length = ssr.ToCharArray().Length;
                    string s = "";
                    for (int i = 0; i < length; i++)
                    {
                        s += "*";
                    }
                    Debug.Log(stt.Replace(ssr, s));
                    stt = stt.Replace(ssr, s);
                    transform.GetComponent<InputField>().text = stt;
                }
            }
            //Debug.Log(ssr);
        }
    }
}