您当前的位置: 首页 >  unity

CoderZ1010

暂无认证

  • 2浏览

    0关注

    168博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity 使用this关键字进行函数拓展 - Graphic

CoderZ1010 发布时间:2021-05-13 16:46:25 ,浏览量:2

Example:

var image = GetComponent();
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
{
    /// 
    /// 图像相关拓展
    /// 
    public static class GraphicExtension
    {
        /// 
        /// 设置颜色值
        /// 
        /// 类型
        /// 实例
        /// 颜色值
        /// 实例
        public static T SetColor(this T self, Color color) where T : Graphic
        {
            self.color = color;
            return self;
        }
        /// 
        /// 设置颜色值
        /// 
        /// 类型
        /// 实例
        /// 颜色r值
        /// 颜色g值
        /// 颜色b值
        /// 实例
        public static T SetColor(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;
        }
        /// 
        /// 设置颜色值
        /// 
        /// 类型
        /// 实例
        /// 颜色r值
        /// 颜色g值
        /// 颜色b值
        /// 颜色a值
        /// 实例
        public static T SetColor(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;
        }
        /// 
        /// 设置颜色Alpha值
        /// 
        /// 类型
        /// 实例
        /// alpha值
        /// 实例
        public static T SetColorAlpha(this T self, float alpha) where T : Graphic
        {
            Color color = self.color;
            color.a = alpha;
            self.color = color;
            return self;
        }
        /// 
        /// 设置材质球
        /// 
        /// 类型
        /// 实例
        /// 材质球
        /// 实例
        public static T SetMaterial(this T self, Material material) where T : Graphic
        {
            self.material = material;
            return self;
        }
        /// 
        /// 设置RaycastTarget属性
        /// 
        /// 类型
        /// 实例
        /// raycast target
        /// 实例
        public static T SetRaycastTarget(this T self, bool raycastTarget) where T : Graphic
        {
            self.raycastTarget = raycastTarget;
            return self;
        }
    }
}
关注
打赏
1653184800
查看更多评论
立即登录/注册

微信扫码登录

0.3014s