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;
}
}
}