Skip to content

较为全面且封装实现简单的unity工具库

License

Notifications You must be signed in to change notification settings

cnoom/UnityTool

Repository files navigation

SimpleUnityTool

较为全面且封装简单的unity库

如何安装?

{
  "dependencies": {
    "com.cnoom.unitytool": "https://github.com/cnoom/UnityTool.git"
  }
}

ActionUtils 延迟行动库

实现一个支持延迟指定帧数和指定毫秒数执行的延迟行动系统

SingletonUtils 单例工具库

统一实现一个ISingleton接口,接口具有初始化和释放方法

  • Singleton 普通单例,继承自ISingleton,使用时需要实现私有无参构造函数
  • SingletonMono MonoBehaviour单例,具有一个控制释放切换场景时是否销毁的布尔字段 IsDestroyOnLoad
public abstract class SingletonMonoBehaviour<T> : MonoBehaviour,ISingleton where T : SingletonMonoBehaviour<T>
{
    private static T? instance;
    private static readonly object Lock = new object();
    protected bool IsDestroyOnLoad = false;
    ...

StorageUtils 持久化反持久化工具库

实现一个IStorage接口,接口具有获取保存是否存在和删除方法 默认实现一个基于PlayerPrefs的封装工具库:通过实现PlayerPrefsStorage调用其中的拓展方法去保存/获取存储数据

IStorageUser s = yourIStorage
int i =  s.GetInt(key:"yourkey",defaultVale:0)

如果有其他持久化非持久化实现方式可以通过实现IStorage接口然后修改对应的IStorage.Current

{
    IStorage.Current = YourIStorage;
    ...
}

LogUtils 输出工具库

实现一个this.log输出类型的工具用来快速输出,默认输出白色警告输出黄色异常输出红色,支持自定义输出格式类型,默认输出格式为 "ClassName:message"

常用类拓展,对应拓展类包含如下方法【以扩展类名区分】【待完善】

简易事件系统,目前实现一个类型事件系统

简易状态机,支持链式调用增加状态

目前实现了根据材质偏移实现精灵/图片滚动效果的mono,需要修改贴图间拼接模式为重复,材质shader为unlit/Transparent

一个可以在遍历时可以向后插入或清空集合的集合(我称之为消息队列)

About

较为全面且封装实现简单的unity工具库

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages