目录
1.链式写法效果
2.扩展类
3.注意格式
4.优劣
1.链式写法效果
public GameObject go;
void Start () {
//调用1:直接.方法
go.ReName("new name hhhh").Layer(1).Show().End();
//调用2:静态调用
GameObjEx.ReName(go, "ttttt").Layer(5).End();
}
2.扩展类
using UnityEngine;
public static class GameObjEx
{
public static GameObject Show(this GameObject obj)
{
obj.SetActive(true);
return obj;
}
public static GameObject Hide(this GameObject obj)
{
obj.SetActive(false);
return obj;
}
public static GameObject ReName(this GameObject obj,string ToName)
{
obj.name=ToName;
return obj;
}
public static GameObject Layer(this GameObject selfObj, int layer)
{
selfObj.layer = layer;
return selfObj;
}
public static void End(this GameObject selfObj)
{
Debug.Log("end ------");
}
}
3.注意格式
静态类、静态方法、参数格式:this+扩展类型
如果要持续链式要返回类型本身;不返回链式就结束了
4.优劣
优点:代码紧凑,写起来很爽快,以自己的习惯设计接口,会提高开发效率。 缺点:性能会损耗一丢丢,调试不方便,出异常时候会发现堆栈信息超级长,别人看了会误认为Unity 升级又加了API。不过 DoTween,UniRx 都在这么用… 执行效率 vs 开发效率 + 低 bug 率,就看各位怎么权衡啦。
扩展连接