美文网首页
用LINQ-to-GameObject-for-Unity遍历G

用LINQ-to-GameObject-for-Unity遍历G

作者: UnityAsk | 来源:发表于2019-03-09 19:14 被阅读0次

一款免费的插件,可以在Unity Asset Store里面下载到。

https://assetstore.unity.com/packages/tools/integration/linq-to-gameobject-24256

LINQ to GameObject 利用 LINQ 和 Iteration 给我们提供了一种方便且高效访问 GameObject的方式。


axis.jpg

基于 "Origin"这个GameObject,我们可以很方便的访问到其他相对于Origin的其他GameObject.
origin.Ancestors(); // 返回 Container, Root
origin.Children(); // 返回 Sphere_A, Sphere_B, Group, Sphere_A, Sphere_B
origin.Descendants(); //返回 Sphere_A, Sphere_B, Group, P1, Group, Sphere_B, P2, Sphere_A, Sphere_B
origin.BeforeSelf(); // 返回 C1, C2
origin.AfterSelf(); //返回 C3, C4

上面返回的都是 IEnumerable<GameObject>类型的,可以结合链式查询对结果进行其他操作,例如这样:

// 销毁所有(tag == "foobar") 的GameObject
root.Descendants().Where(x => x.tag == "foobar").Destroy();
// 销毁所有克隆出的GameObject.
origin.transform.root.gameObject .Descendants() .Where(x => x.name.EndsWith("(Clone)")) .Destroy();
// 获取 FooScript 子物体及自身 的 FooScript 组件
var fooScripts = root.ChildrenAndSelf().OfComponent<FooScript>();

相关文章

  • 用LINQ-to-GameObject-for-Unity遍历G

    一款免费的插件,可以在Unity Asset Store里面下载到。 https://assetstore.uni...

  • for in, for of

    for in 遍历 key(index), for of 遍历 value. e.g: let itemList ...

  • 算法与数据结构

    1.深度优先搜索 下面是深度优先搜索遍历的一个例子,我们用整数标记节点,G记录有向边,G[u][v]表示节点u指向...

  • 前端面试题总结(算法)

    javascript递归遍历所有DOM文档节点 javascript递归遍历所有DOM文档节点 HTTP 方法:G...

  • 深度优先搜索(Depth-First-Search)

    void DFSTraverse(Graph G){ //对图G进行深度优先遍历,访问函数为visit() for...

  • 0909数据结构

    数据结构: 1.遍历技巧 【并行遍历】用 zip函数 for x,y in zip(a,b) 【字典遍历】用 f...

  • Swift 4.0+ 数组遍历

    1、转换成OC数组 enumerated函数遍历 2、用enumerated()函数遍历 3、下标遍历 4、遍历数...

  • 设计模式-迭代器

    就是Iterator 遍历用

  • es6遍历器

    首先了解一下iterator遍历器 上述是个类似遍历器,但不真是个遍历器,遍历器是可以用for...of 进行遍历...

  • For-in

    用for-in去遍历容器时 NSArray 是按照数组的index顺序遍历 NSDictionary 是通过遍历字...

网友评论

      本文标题:用LINQ-to-GameObject-for-Unity遍历G

      本文链接:https://www.haomeiwen.com/subject/mchspqtx.html