擴充套件工具
1、擴充套件工具
using System;
using UnityEngine;
using UnityEngine.UI;
public static class ExtendUtil
{
public static T AddOrGet<T>(this Transform trans) where T : Component
{
var t = trans.GetComponent<T>();
if (t == null) t = trans.AddComponent<T>();
return t;
}
public static T AddOrGet<T>(this GameObject go) where T : Component
{
var t = go.GetComponent<T>();
if (t == null)
t = go.AddComponent<T>();
return t;
}
public static RectTransform Rect(this Transform trans)
{
return trans.GetComponent<RectTransform>();
}
public static T AddComponent<T>(this Transform trans) where T : Component
{
return trans.gameObject.AddComponent<T>();
}
public static T AddComponent<T>(this Transform trans, string path) where T : Component
{
return trans.Find(path).gameObject.AddComponent<T>();
}
public static void ButtonAction(this Transform trans, string path, Action action, bool useDefaultAudio = true)
{
var target = trans.Find(path);
if (target == null)
{
Debug.LogError("當前查詢物體為空,路徑為:" + path);
}
else
{
var button = target.GetComponent<Button>();
if (button == null)
{
Debug.LogError("當前物體上沒有button元件,物體名稱:" + target.name);
}
else
{
button.onClick.AddListener(() => action());
//if (useDefaultAudio)
//button.onClick.AddListener(AddButtonAudio);
}
}
}
private static void AddButtonAudio()
{
// AudioMgr.Single.PlayOnce(UIAduio.UI_ClickButton.ToString());
}
public static Vector2 Reversal(this Vector2 direction)
{
return new Vector2(-direction.x,-direction.y);
}
}
相關文章
- LLM 擴充套件開發工具套件
- kotlin 擴充套件(擴充套件函式和擴充套件屬性)Kotlin套件函式
- Java-IoUtil擴充套件工具類Java套件
- 【Kotlin】擴充套件屬性、擴充套件函式Kotlin套件函式
- PHP的LZF壓縮擴充套件工具PHP套件
- 高效擴充套件工具讓 VS Code 如虎添翼套件
- Sanic 擴充套件套件
- Mybatis擴充套件MyBatis套件
- SpringMVC 擴充套件SpringMVC套件
- ORACLE 擴充套件Oracle套件
- 使用Kotlin擴充套件函式擴充套件Spring Data案例Kotlin套件函式Spring
- JMeter 擴充套件開發:擴充套件 TCP 取樣器JMeter套件TCP
- ?用Chrome擴充套件管理器, 管理你的擴充套件Chrome套件
- ASP.NET Core擴充套件庫之Http通用擴充套件ASP.NET套件HTTP
- PHP的bz2壓縮擴充套件工具PHP套件
- now擴充套件-go的時間工具箱套件Go
- iOS 通知擴充套件iOS套件
- swift擴充套件ExtensionsSwift套件
- 擴充套件BSGS/exBSGS套件
- Json擴充套件方法JSON套件
- 分類擴充套件套件
- 提高擴充套件性套件
- HttpContext擴充套件類HTTPContext套件
- DOM部分擴充套件套件
- LINQ擴充套件方法套件
- Flask 自建擴充套件Flask套件
- 新增php擴充套件PHP套件
- 擴充套件表示式套件
- 擴充套件包上傳套件
- Nmap 擴充套件(四)套件
- 可擴充套件性套件
- 19-擴充套件套件
- PHP擴充套件開發就是一個自己的PHP擴充套件PHP套件
- 乾貨丨如何水平擴充套件和垂直擴充套件DolphinDB叢集?套件
- 正則的擴充套件套件
- jQuery外掛擴充套件jQuery套件
- jQuery擴充套件外掛jQuery套件
- 線段樹擴充套件套件