unity 模糊查询

unity模糊查询

unity 模糊查询

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

上代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class ReadText : MonoBehaviour
{
    /// <summary>
    /// 查询内容
    /// </summary>
    private InputField queries;
    /// <summary>
    /// 所有内容
    /// </summary>
    private List<string> allStr = new List<string>();
    /// <summary>
    /// 当前查询内容
    /// </summary>
    private List<string> currentStr = new List<string>();
    /// <summary>
    /// 存储目标
    /// </summary>
    private Transform OSTObj;
    /// <summary>
    /// 实例化物体
    /// </summary>
    public GameObject InstantObj;
    /// <summary>
    /// 下拉框
    /// </summary>
    private GameObject dropDownBox;
    private void Start()
    {
        queries = transform.Find("QueriesText").GetComponent<InputField>();
        queries.onValueChanged.AddListener(Changed);
        OSTObj = transform.Find("Scroll View/Viewport/Content");
        dropDownBox =transform.Find("Scroll View").gameObject;

        if (dropDownBox.activeInHierarchy)
            dropDownBox.SetActive(false);

        allStr.Add("afsdjjf");
        allStr.Add("sdfsgd");
        allStr.Add("gfhjghj");
        allStr.Add("khjgftrdf");
        allStr.Add("45fgfdg");
        allStr.Add("41fgfdg");
        allStr.Add("iuouio");
        allStr.Add("8845rs");
        allStr.Add("544fd54fds");
    }


    public void Changed(string str)
    {
        if (!dropDownBox.activeInHierarchy)
            dropDownBox.SetActive(true);
        ResetStr();
        for (int i = 0; i < allStr.Count; i++)
        {
            if (allStr[i].Contains(str))
                currentStr.Add(allStr[i]);
        }
        for (int a = 0; a < currentStr.Count; a++)
        {
            GameObject games = Instantiate(InstantObj, Vector3.zero, Quaternion.identity);
            games.name = currentStr[a];
            games.GetComponentInChildren<Text>().text = currentStr[a];
            games.transform.parent = OSTObj.transform;
            games.GetComponent<Button>().onClick.AddListener(Listenevents);
        }
    }

    public void ResetStr()
    {
        currentStr.Clear();
        if (OSTObj.childCount > 0)
        {
            for (int i = 0; i < OSTObj.childCount; i++)
                Destroy(OSTObj.GetChild(i).gameObject);
        }
    }

    public void Listenevents() 
    {
        queries.text = EventSystem.current.currentSelectedGameObject.transform.name;
        if (dropDownBox.activeInHierarchy)
            dropDownBox.SetActive(false);
    }
}

[Dome **模糊查询**](https://download.csdn.net/download/qq_19323929/12573758)
  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值