Unity 使用this关键字进行函数拓展 - LineRenderer
函数 进行 Unity 关键字 this 拓展 使用
2023-09-27 14:19:56 时间
Example:
var lineRenderer = GetComponent<LineRenderer>();
lineRenderer
.SetStartColor(Color.red)
.SetEndColor(Color.red)
.SetStartWidth(0.1f)
.SetEndWidth(0.1f)
.SetLinePosition(0, point1)
.SetLinePosition(1, point2)
.SetLoop(true)
.SetCornerVertices(90)
.SetEndCapVertices(90)
.SetAlignment(LineAlignment.View)
.SetTextureMode(LineTextureMode.Stretch);
Extension:
using UnityEngine;
namespace SK.Framework
{
/// <summary>
/// 光线渲染器相关拓展
/// </summary>
public static class LineRenderExtension
{
/// <summary>
/// 设置起始宽度
/// </summary>
/// <param name="self">光线渲染器</param>
/// <param name="width">起始宽度</param>
/// <returns>光线渲染器</returns>
public static LineRenderer SetStartWidth(this LineRenderer self, float width)
{
self.startWidth = width;
return self;
}
/// <summary>
/// 设置结束宽度
/// </summary>
/// <param name="self">光线渲染器</param>
/// <param name="width">结束宽度</param>
/// <returns>光线渲染器</returns>
public static LineRenderer SetEndWidth(this LineRenderer self, float width)
{
self.endWidth = width;
return self;
}
/// <summary>
/// 设置起始颜色
/// </summary>
/// <param name="self">光线渲染器</param>
/// <param name="color">起始颜色</param>
/// <returns>光线渲染器</returns>
public static LineRenderer SetStartColor(this LineRenderer self, Color color)
{
self.startColor = color;
return self;
}
/// <summary>
/// 设置结束颜色
/// </summary>
/// <param name="self">光线渲染器</param>
/// <param name="color">结束颜色</param>
/// <returns>光线渲染器</returns>
public static LineRenderer SetEndColor(this LineRenderer self, Color color)
{
self.endColor = color;
return self;
}
/// <summary>
/// 设置点个数
/// </summary>
/// <param name="self">光线渲染器</param>
/// <param name="count">点个数</param>
/// <returns>光线渲染器</returns>
public static LineRenderer SetPositionCount(this LineRenderer self, int count)
{
self.positionCount = count;
return self;
}
/// <summary>
/// 设置点位置
/// </summary>
/// <param name="self">光线渲染器</param>
/// <param name="index">索引</param>
/// <param name="position">位置</param>
/// <returns>光线渲染器</returns>
public static LineRenderer SetLinePosition(this LineRenderer self, int index, Vector3 position)
{
self.SetPosition(index, position);
return self;
}
/// <summary>
/// 设置是否循环(终点是否连接起点)
/// </summary>
/// <param name="self">光线渲染器</param>
/// <param name="loop">是否循环</param>
/// <returns>光线渲染器</returns>
public static LineRenderer SetLoop(this LineRenderer self, bool loop)
{
self.loop = loop;
return self;
}
/// <summary>
/// 设置CornerVertices属性
/// </summary>
/// <param name="self">光线渲染器</param>
/// <param name="cornerVertices">conner vertices</param>
/// <returns>光线渲染器</returns>
public static LineRenderer SetCornerVertices(this LineRenderer self, int cornerVertices)
{
self.numCornerVertices = cornerVertices;
return self;
}
/// <summary>
/// 设置EndCapVertices属性
/// </summary>
/// <param name="self">光线渲染器</param>
/// <param name="endCapVertices">end cap vertices</param>
/// <returns>光线渲染器</returns>
public static LineRenderer SetEndCapVertices(this LineRenderer self, int endCapVertices)
{
self.numCapVertices = endCapVertices;
return self;
}
/// <summary>
/// 设置Alignment属性
/// </summary>
/// <param name="self">光线渲染器</param>
/// <param name="alignment">alignment</param>
/// <returns>光线渲染器</returns>
public static LineRenderer SetAlignment(this LineRenderer self, LineAlignment alignment)
{
self.alignment = alignment;
return self;
}
/// <summary>
/// 设置TextureMode
/// </summary>
/// <param name="self">光线渲染器</param>
/// <param name="textureMode">texture mode</param>
/// <returns>光线渲染器</returns>
public static LineRenderer SetTextureMode(this LineRenderer self, LineTextureMode textureMode)
{
self.textureMode = textureMode;
return self;
}
/// <summary>
/// 设置材质球
/// </summary>
/// <param name="self">光线渲染器</param>
/// <param name="material">材质球</param>
/// <returns>光线渲染器</returns>
public static LineRenderer SetMaterial(this LineRenderer self, Material material)
{
self.material = material;
return self;
}
}
}
相关文章
- Python repr() 函数用法及实例(各种类型转字符串)
- C#学习记录——函数:定义和使用函数
- 用C++进行函数式编程
- Google Earth Engine(GEE)教程——数字矢量集合aggregate_array函数进行矢量转化为数组和区分不同分析
- SS-CA-APPLE:如何对复变函数进行积分?
- 【维纳滤波】通过MATLAB自带的维纳滤波函数进行滤波
- 第156章 SQL函数 USER
- 第151章 SQL函数 %TRUNCATE
- 利用OpenCV的函数GaussianBlur()对图像进行高斯滤波
- 利用霍夫梯度法进行圆检测的原理概要及利用OpenCV的函数HoughCircles()实现霍夫梯度法圆检测的代码
- SwiftUI 内功之如何将函数存储到数组并进行调用 (教程含源码)
- PHP fgets 函数
- MindSpore中使用model.train,在每一步训练结束后自动进行调用自定义函数 —— from mindspore.train.callback import Callback
- 高数 | 极限定义函数 系列例题
- 常用sql函数:COALESCE()进行空值处理、greatest函数和least函数
- JavaScript深入浅出第2课:函数是一等公民是什么意思呢?
- python 对于任意数据和曲线进行拟合并求出函数表达式的三种方案。
- (原)使用opencv的warpAffine函数对图像进行旋转
- TypeScript:函数传参如何进行es6的解构赋值
- [DAX] AVERAGE函数 | AVERAGEX函数