Unity 使用this关键字进行函数拓展 - Graphic
【摘要】
Example:
var image = GetComponent<Image>();image .SetColor(Color.white) .SetColor(1f, 1f, 1f) .SetColor(1f, 1f, 1f, 1f) .SetColorAlpha(1f) .SetMate...
Example:
-
var image = GetComponent<Image>();
-
image
-
.SetColor(Color.white)
-
.SetColor(1f, 1f, 1f)
-
.SetColor(1f, 1f, 1f, 1f)
-
.SetColorAlpha(1f)
-
.SetMaterial(null)
-
.SetRaycastTarget(true);
Extension:
-
using UnityEngine;
-
using UnityEngine.UI;
-
-
namespace SK.Framework
-
{
-
/// <summary>
-
/// 图像相关拓展
-
/// </summary>
-
public static class GraphicExtension
-
{
-
/// <summary>
-
/// 设置颜色值
-
/// </summary>
-
/// <typeparam name="T">类型</typeparam>
-
/// <param name="self">实例</param>
-
/// <param name="color">颜色值</param>
-
/// <returns>实例</returns>
-
public static T SetColor<T>(this T self, Color color) where T : Graphic
-
{
-
self.color = color;
-
return self;
-
}
-
/// <summary>
-
/// 设置颜色值
-
/// </summary>
-
/// <typeparam name="T">类型</typeparam>
-
/// <param name="self">实例</param>
-
/// <param name="r">颜色r值</param>
-
/// <param name="g">颜色g值</param>
-
/// <param name="b">颜色b值</param>
-
/// <returns>实例</returns>
-
public static T SetColor<T>(this T self, float r, float g, float b) where T : Graphic
-
{
-
Color color = self.color;
-
color.r = r;
-
color.g = g;
-
color.b = b;
-
self.color = color;
-
return self;
-
}
-
/// <summary>
-
/// 设置颜色值
-
/// </summary>
-
/// <typeparam name="T">类型</typeparam>
-
/// <param name="self">实例</param>
-
/// <param name="r">颜色r值</param>
-
/// <param name="g">颜色g值</param>
-
/// <param name="b">颜色b值</param>
-
/// <param name="a">颜色a值</param>
-
/// <returns>实例</returns>
-
public static T SetColor<T>(this T self, float r, float g, float b, float a) where T : Graphic
-
{
-
Color color = self.color;
-
color.r = r;
-
color.g = g;
-
color.b = b;
-
color.a = a;
-
self.color = color;
-
return self;
-
}
-
/// <summary>
-
/// 设置颜色Alpha值
-
/// </summary>
-
/// <typeparam name="T">类型</typeparam>
-
/// <param name="self">实例</param>
-
/// <param name="alpha">alpha值</param>
-
/// <returns>实例</returns>
-
public static T SetColorAlpha<T>(this T self, float alpha) where T : Graphic
-
{
-
Color color = self.color;
-
color.a = alpha;
-
self.color = color;
-
return self;
-
}
-
/// <summary>
-
/// 设置材质球
-
/// </summary>
-
/// <typeparam name="T">类型</typeparam>
-
/// <param name="self">实例</param>
-
/// <param name="material">材质球</param>
-
/// <returns>实例</returns>
-
public static T SetMaterial<T>(this T self, Material material) where T : Graphic
-
{
-
self.material = material;
-
return self;
-
}
-
/// <summary>
-
/// 设置RaycastTarget属性
-
/// </summary>
-
/// <typeparam name="T">类型</typeparam>
-
/// <param name="self">实例</param>
-
/// <param name="raycastTarget">raycast target</param>
-
/// <returns>实例</returns>
-
public static T SetRaycastTarget<T>(this T self, bool raycastTarget) where T : Graphic
-
{
-
self.raycastTarget = raycastTarget;
-
return self;
-
}
-
}
-
}
文章来源: coderz.blog.csdn.net,作者:CoderZ1010,版权归原作者所有,如需转载,请联系作者。
原文链接:coderz.blog.csdn.net/article/details/116756257
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)