擴充套件工具
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);
}
}
相關文章
- discuz擴充套件工具集合套件
- LLM 擴充套件開發工具套件
- kotlin 擴充套件(擴充套件函式和擴充套件屬性)Kotlin套件函式
- Java-IoUtil擴充套件工具類Java套件
- WCF擴充套件:行為擴充套件Behavior Extension套件
- PHP的LZF壓縮擴充套件工具PHP套件
- 高效擴充套件工具讓 VS Code 如虎添翼套件
- 【Kotlin】擴充套件屬性、擴充套件函式Kotlin套件函式
- Sanic 擴充套件套件
- ORACLE 擴充套件Oracle套件
- 擴充套件歐幾里得套件
- DOM擴充套件套件
- 擴充套件ACL套件
- Lua擴充套件套件
- 照片擴充套件套件
- 擴充套件篇套件
- disable or 擴充套件套件
- 擴充套件表套件
- Mybatis擴充套件MyBatis套件
- JMeter 擴充套件開發:擴充套件 TCP 取樣器JMeter套件TCP
- ?用Chrome擴充套件管理器, 管理你的擴充套件Chrome套件
- ASP.NET Core擴充套件庫之Http通用擴充套件ASP.NET套件HTTP
- php7安裝redis擴充套件和memcache擴充套件PHPRedis套件
- 分類擴充套件套件
- 擴充套件表示式套件
- 新增php擴充套件PHP套件
- swift擴充套件ExtensionsSwift套件
- iOS 通知擴充套件iOS套件
- 可擴充套件性套件
- 19-擴充套件套件
- Nmap 擴充套件(四)套件
- Flask 自建擴充套件Flask套件
- 擴充套件包上傳套件
- DOM部分擴充套件套件
- 擴充套件知識套件
- php ubuntu 擴充套件PHPUbuntu套件
- greenplum擴充套件segment套件
- ios UIcolor擴充套件iOSUI套件