Skip to content

UExtension is a basic type extension library for .Net and Unity projects. It integrates a large number of commonly used, efficient and convenient extension methods, which helps to greatly improve development efficiency.

License

Notifications You must be signed in to change notification settings

ls9512/UExtension

Repository files navigation

UExtension

UExtension is a basic type extension library for .Net and Unity projects. It integrates a large number of commonly used, efficient and convenient extension methods, which helps to greatly improve development efficiency.

topLanguage size issue license last 996.icu

[中文文档]

🐧 Official QQ group: 1070645638



1. Feature

  • Provide a large number of .Net native types and extension methods of Unity native types.
  • Optimize the user experience of native types and improve development efficiency.
  • No other dependent libraries.
  • The API is concise and easy to use, and the name is clear.
  • Take into account ease of use and high performance as much as possible, and avoid GC as much as possible.
  • Most of the code files can be used independently, you can only use the required parts or delete the unnecessary parts as needed.

2. Environment

Unity: 2019.4 .NET 4.x


3. File

└─ 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. How to use

Copy the entire project folder into the UnityProject/Assets/Plugins/ directory.


5. Notice

  • The method of the warehouse is implemented by the author himself or collected from the Internet and other open source projects during the development process for many years, and has been accumulated so far.
  • This project is only recommended for learning and use. The author cannot guarantee the functional reliability, result accuracy and actual performance of all interfaces. Although the author has actually used this project in multiple commercial projects, please fully test it yourself if you need it for commercial use.
  • All interfaces have tried to improve the readability of signatures, and the implementation logic of most interfaces is very simple. In addition, the characteristics of the warehouse may lead to frequent updates, and the author has limited energy, so no interface documents are provided.
  • Due to the author's own needs, the project contains a large number of replacement implementation interfaces that overlap with Linq, and will be split separately as an optional part later.
  • If you find problems in use, improve suggestions, or want to add new functions, you are welcome to submit a PR.

About

UExtension is a basic type extension library for .Net and Unity projects. It integrates a large number of commonly used, efficient and convenient extension methods, which helps to greatly improve development efficiency.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages