创建一个新脚本TransformHelpers放进Scripts文件夹的Helper文件夹里
接下来要实现往Unity放进新的定义方法。
把TransformHelpers修改成:
把这个hihi方法放进WeaponManager的start函数里:
测试这个方法在运行的时候调用的过程。
接下来我们按照hihi方法的参数重新创建一个方法叫DeepFind(深度搜索)。
public static Transform DeepFind(this Transform parent,string targetName)
{
foreach (Transform child in parent) Transform里有IEnumerable可以把Transform的子级遍历出来,用parent作为参数,就代表物体,把物体的子级遍历出来。
{
Debug.Log(child.name);
}
return null;
}
然后把WeaponManager的hihi函数改成DeepFind,看看在ybot的组件里能不能找到good这个字符串。
结果打印出来对应ybot的组件,因为两个ybot都绑定了WeaponManager脚本,开始执行都会运行这个DeepFind方法,把ybot下所有的子级都搜索并打印出来。
在TransformHelper的foreach里再加入一行代码:
代表可以遍历子级里的子级,循环下去就相当于递归。遍历子级里子级的子级,直到找到目标物体。
设定成找到ybot里的组件用来测试。成功!!!!!
所以可以通过这个方法,在WeaponManager里搜索对应的单个物体。
标签:优先,遍历,WeaponManager,211,DeepFind,ybot,Transform,黑魂,子级 From: https://www.cnblogs.com/dontpanic1703/p/17573694.html