Unity 使用this关键字进行函数拓展 - Text
函数 进行 Unity 关键字 this Text 拓展 使用
2023-09-27 14:19:56 时间
Example:
using UnityEngine;
using UnityEngine.UI;
using SK.Framework;
public class Foo : MonoBehaviour
{
private void Start()
{
GetComponent<Text>()
//设置文本内容
.SetContent("Today is a good day.")
//设置字体
.SetFont(Resources.Load<Font>(""))
//设置字体样式
.SetFontStyle(FontStyle.Bold)
//设置行间距
.SetLineSpacing(1.5f)
//设置富文本
.SetRichText(true)
//设置对齐方式
.SetAlignment(TextAnchor.MiddleCenter)
//设置水平溢出
.SetHorizontalOverflow(HorizontalWrapMode.Overflow)
//设置垂直溢出
.SetVerticalOverflow(VerticalWrapMode.Overflow)
//设置大小适应
.SetBestFit(false);
}
}
Extension:
using UnityEngine;
using UnityEngine.UI;
namespace SK.Framework
{
/// <summary>
/// Text相关拓展
/// </summary>
public static class TextExtension
{
/// <summary>
/// 设置Text内容
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <param name="self">实例</param>
/// <param name="content"></param>
/// <returns>实例</returns>
public static T SetContent<T>(this T self, string content) where T : Text
{
self.text = content;
return self;
}
/// <summary>
/// 设置字体
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <param name="self">实例</param>
/// <param name="font">字体</param>
/// <returns>实例</returns>
public static T SetFont<T>(this T self, Font font) where T : Text
{
self.font = font;
return self;
}
/// <summary>
/// 设置字体样式
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <param name="self">实例</param>
/// <param name="fontStyle">字体样式</param>
/// <returns>实例</returns>
public static T SetFontStyle<T>(this T self, FontStyle fontStyle) where T : Text
{
self.fontStyle = fontStyle;
return self;
}
/// <summary>
/// 设置行间距
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <param name="self">实例</param>
/// <param name="lineSpacing">行间距</param>
/// <returns>实例</returns>
public static T SetLineSpacing<T>(this T self, float lineSpacing) where T : Text
{
self.lineSpacing = lineSpacing;
return self;
}
/// <summary>
/// 设置是否支持富文本
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <param name="self">实例</param>
/// <param name="richText">是否支持富文本</param>
/// <returns>实例</returns>
public static T SetRichText<T>(this T self, bool richText) where T : Text
{
self.supportRichText = richText;
return self;
}
/// <summary>
/// 设置对齐方式
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <param name="self">实例</param>
/// <param name="alignment">对齐方式</param>
/// <returns>实例</returns>
public static T SetAlignment<T>(this T self, TextAnchor alignment) where T : Text
{
self.alignment = alignment;
return self;
}
/// <summary>
/// 设置AlignByGeometry
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <param name="self">实例</param>
/// <param name="alignByGeometry">AlignByGeometry</param>
/// <returns>实例</returns>
public static T SetAlignByGeometry<T>(this T self, bool alignByGeometry) where T : Text
{
self.alignByGeometry = alignByGeometry;
return self;
}
/// <summary>
/// 设置HorizontalOverflow
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <param name="self">实例</param>
/// <param name="horizontalWrapMode">HorizontalOverflow</param>
/// <returns>实例</returns>
public static T SetHorizontalOverflow<T>(this T self, HorizontalWrapMode horizontalWrapMode) where T : Text
{
self.horizontalOverflow = horizontalWrapMode;
return self;
}
/// <summary>
/// 设置VerticalOverflow
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <param name="self">实例</param>
/// <param name="verticalWrapMode">VerticalOverflow</param>
/// <returns>实例</returns>
public static T SetVerticalOverflow<T>(this T self, VerticalWrapMode verticalWrapMode) where T : Text
{
self.verticalOverflow = verticalWrapMode;
return self;
}
/// <summary>
/// 设置BestFit
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <param name="self">实例</param>
/// <param name="bestFit">BestFit</param>
/// <returns>实例</returns>
public static T SetBestFit<T>(this T self, bool bestFit) where T : Text
{
self.resizeTextForBestFit = bestFit;
return self;
}
}
}
相关文章
- 如何在 ejs 模板中使用 helper function 外部函数进行特殊处理?
- mysql数据库中,如何对json数据类型的值进行修改?通过json_set函数对json字段值进行修改?
- Jest 如何支持异步及时间函数
- 用C++进行函数式编程
- Google Earth Engine(GEE)教程——数字矢量集合aggregate_array函数进行矢量转化为数组和区分不同分析
- 5分钟快速了解Serverless和云函数计算
- SS-CA-APPLE:如何对复变函数进行积分?
- 利用霍夫变换做直线检测的原理及使用OpenCV函数HoughLines和HoughLinesP()进行直线检测的示例代码
- 利用霍夫梯度法进行圆检测的原理概要及利用OpenCV的函数HoughCircles()实现霍夫梯度法圆检测的代码
- 使用NumPy库的函数astype()对ndarray的数据类型进行转换
- 第10周-任务0-构造和析构函数的执行过程实例解析
- clickhouse--json字段类型及基于json相关函数进行行列转换
- JS高级--函数进阶(原型、调用方法、this、bind、严格模式、闭包、垃圾回收、递归深拷贝、匿名函数、回调函数、立即执行函数)
- 获取成员函数地址及获取函数地址
- python之函数用法__str__()
- Matlab subs函数的用法
- Error Handling Functions(微软对于出错的情况下提供的所有函数,比如SetThreadErrorMode,SetErrorMode,SetLastErrorEx,FatalAppExit,CaptureStackbackTrace)
- React生命周期钩子函数详解
- MindSpore中使用model.train,在每一步训练结束后自动进行调用自定义函数 —— from mindspore.train.callback import Callback
- 浅析前端如何做单元测试:jest与mocha对比、如何使用jest进行单元测试及持续监听、如何生成测试覆盖率报告、常用断言方法、如何测试异步函数
- python之itemgetter函数:对字典列表进行多键排序
- 教你使用华为云函数进行签名校验
- tensorflow中交叉熵损失函数详解
- JavaScript学习第1天:浏览器组成、JS的组成、变量、数据类型转化、运算符、流程控制、数组、函数
- matlab中meshgrid函数的用法
- 二.jQuery源码解析之构建jQuery之构建函数jQuery的7种用法
- TypeScript:函数传参如何进行es6的解构赋值