• C# 方法中的this参数


    用C#的this关键字,对Unity中的Transform类进行扩展的一个实例:

    public static class GameHelper
    {
        public static void FindChildRecursive(this Transform node, string name, ref Transform target)
        {
            if (!node || string.IsNullOrEmpty(name))
                return;
    
            if (node.name == name)
                target = node;
            else
            {
                foreach (Transform item in node)
                    FindChildRecursive(item, name, ref target);
            }
        }
    
        public static void FindChildrenRecursive(this Transform node, string[] names, ref List<Transform> list)
        {
            if (!node || names == null)
                return;
    
            if (list == null)
                list = new List<Transform>();
    
            int index = Array.FindIndex(names, n => n == node.name);
            if (index > -1)
                list.Add(node);
    
            foreach (Transform item in node)
                FindChildrenRecursive(item, names, ref list);
        }
    }

    这里的扩展方法一般用来查找模型具体骨骼。

  • 相关阅读:
    Web存储
    JavaScript模块化
    jQuery挖源码——事件绑定
    观察者模式——JavaScript
    Node.js之网络小爬虫
    ECMAScript的严格模式
    JavaScript和jQuery的事件
    认识Ajax
    Redis之intset数据结构
    Redis之Hash数据结构
  • 原文地址:https://www.cnblogs.com/luguoshuai/p/8639680.html
Copyright © 2020-2023  润新知