Skip to content

Latest commit

 

History

History
181 lines (164 loc) · 20.5 KB

README_CN.md

File metadata and controls

181 lines (164 loc) · 20.5 KB

UExtension

UExtension 是一个用于 .Net 和 Unity 项目的基础类型扩展函数库,集成大量常用、高效、便捷的扩展方法,有助于大幅度提高开发效率。

topLanguage size issue license last 996.icu

[English Documents Available]

🐧 官方交流QQ群:1070645638



1. 特性

  • 提供大量 .Net 原生类型以及 Unity 原生类型的扩展方法。
  • 优化原生类型的使用体验,提高开发效率。
  • 无其他依赖库。
  • API 简洁易用,见名知意。
  • 尽可能兼顾易用性和高性能,尽可能避免GC。
  • 大部分代码文件可独立使用,可按需只使用需要的部分或者删除不需要的部分。

2. 环境

Unity: 2019.4 .NET 4.x


3. 文件

└─ Extension
  ├─ CSharp
  │  └─ Script
  │    ├─ Collection
  │    │  ├─ ArrayExtension.cs
  │    │  ├─ ArrayListExtension.cs
  │    │  ├─ HashSetExtension.cs
  │    │  ├─ ICollectionExtension.cs
  │    │  ├─ IDictionaryExtension.cs
  │    │  ├─ IEnumerableExtension.cs
  │    │  ├─ IEnumeratorExtension.cs
  │    │  ├─ IListExtension.cs
  │    │  └─ ListExtension.cs
  │    ├─ Compare
  │    │  ├─ ComparerUtil.cs
  │    │  ├─ ComparisonUtil.cs
  │    │  └─ IComparableExtension.cs
  │    ├─ IO
  │    │  ├─ FileInfoExtension.cs
  │    │  └─ StreamExtension.cs
  │    ├─ Net
  │    │  └─ SocketExtension.cs
  │    ├─ Reflection
  │    │  ├─ AssemblyExtension.cs
  │    │  ├─ MemberInfoExtension.cs
  │    │  ├─ MethodInfoExtension.cs
  │    │  └─ TypeExtension.cs
  │    ├─ Util
  │    │  ├─ ActionExtension.cs
  │    │  ├─ AwaiterExtension.cs
  │    │  ├─ ChainStyleExtension.cs
  │    │  ├─ FuncExtension.cs
  │    │  ├─ ObjectExtension.cs
  │    │  ├─ StringBuilderExtension.cs
  │    │  ├─ TExtension.cs
  │    │  └─ ValidateExtension.cs
  │    └─ Value
  │      ├─ BooleanExtension.cs
  │      ├─ ByteExtension.cs
  │      ├─ CharExtension.cs
  │      ├─ DateTimeExtension.cs
  │      ├─ DateTimeOffsetExtension.cs
  │      ├─ DecimalExtension.cs
  │      ├─ DoubleExtension.cs
  │      ├─ EnumExtension.cs
  │      ├─ FloatExtension.cs
  │      ├─ IntExtension.cs
  │      ├─ LongExtension.cs
  │      └─ StringExtension.cs
  ├─ LinqReplece
  │  └─ Script
  │    ├─ ArrayExtension.cs
  │    ├─ IEnumerableExtension.cs
  │    └─ IListExtension.cs
  └─ Unity
    ├─ Editor
    │  └─ Script
    │    ├─ Component
    │    │  └─ AnimatorExtension.cs
    │    ├─ GenericMenuExtension.cs
    │    └─ SerializedPropertyExtension.cs
    └─ Runtime
      └─ Script
        ├─ Class
        │  ├─ AnimationCurveExtension.cs
        │  └─ GradientExtension.cs
        ├─ Component
        │  ├─ AnimationExtension.cs
        │  ├─ AnimatorExtension.cs
        │  ├─ CameraExtension.cs
        │  ├─ LineRendererExtension.cs
        │  ├─ MaskableGraphicExtension.cs
        │  ├─ MeshFilterExtension.cs
        │  ├─ NavMeshAgentExtension.cs
        │  ├─ ParticleSystemExtension.cs
        │  ├─ PolygonCollider2DExtension.cs
        │  ├─ RendererExtension.cs
        │  ├─ Rigidbody2DExtension.cs
        │  ├─ RigidbodyExtension.cs
        │  ├─ SpriteRendererExtension.cs
        │  └─ TilemapExtension.cs
        ├─ Core
        │  ├─ BehaviourExtension.cs
        │  ├─ ComponentExtension.cs
        │  ├─ GameObjectExtension.cs
        │  ├─ MonoBehaviourExtension.cs
        │  ├─ TransformExtension.cs
        │  └─ UnityObjectExtension.cs
        ├─ Object
        │  ├─ MaterialExtension.cs
        │  ├─ ShaderExtension.cs
        │  └─ Texture2DExtension.cs
        ├─ Struct
        │  ├─ BoundsExtension.cs
        │  ├─ BoundsIntExtension.cs
        │  ├─ ColorExtension.cs
        │  ├─ LayerMaskExtension.cs
        │  ├─ MatrixExtension.cs
        │  ├─ MinMaxCurveExtension.cs
        │  ├─ QuaternionExtension.cs
        │  ├─ RangeExtension.cs
        │  ├─ Ray2DExtensions.cs
        │  ├─ RayExtension.cs
        │  ├─ RectExtension.cs
        │  ├─ RectIntExtension.cs
        │  ├─ RectOffsetExtension.cs
        │  ├─ ResolutionExtension.cs
        │  ├─ Vector2Extension.cs
        │  ├─ Vector2IntExtension.cs
        │  ├─ Vector3Extension.cs
        │  ├─ Vector3IntExtension.cs
        │  └─ Vector4Extension.cs
        └─ UI
          ├─ ButtonExtension.cs
          ├─ InputFiledExtension.cs
          └─ RectTransformExtension.cs


4. 使用

将项目文件夹整个放入 UnityProject/Assets/Plugins/ 目录下即可。


5. 注意

  • 仓库的方法为作者多年开发过程中自行实现或搜集于互联网和其他开源项目,积累至今。
  • 该项目仅推荐学习使用,作者不能确保所有接口的功能可靠性,结果准确性以及实际性能,虽然作者已经将该项目实际运用于多个商业项目中,但如需商用仍然请自行充分测试。
  • 所有接口已经尽可能提高签名的可读性,且大部分接口的实现逻辑非常简单,再加上仓库特性可能导致频繁更新,作者精力有限,所以不提供接口文档。
  • 因作者本人需要,项目中包含大量与 Linq 重合的替换实现接口,后续会单独拆分出来作为可选部分。
  • 如在使用中发现问题,改进建议,或者想增加新的功能,欢迎提交PR。