{"repo":"NoSLoofah/Unity-Buff-System","free":true,"listed":false,"github":"https://github.com/NoSLoofah/Unity-Buff-System","clone":"git clone https://github.com/NoSLoofah/Unity-Buff-System.git","description":"该项目是一个通用的Buff系统，旨在帮助Unity开发者轻松实现游戏中的Buff效果。该系统能够轻松集成到现有项目，你可以方便地添加、管理和应用自定义逻辑的Buff。","language":"C#","stars":233,"topics":["buff","unity","unity-editor","unity-package"],"license":"MIT","category":"game-templates","readme_excerpt":"Unity 通用Buff系统 该项目是一个通用的Buff系统，旨在帮助Unity开发者轻松实现游戏中的Buff效果。该系统能够轻松集成到现有项目，你可以方便地添加、管理和应用自定义逻辑的Buff。 教程视频 特性 - 优秀的可拓展性：你可以根据游戏需求编写自定义逻辑的Buff - 内置Buff编辑器：你可以在编辑器管理和配置你创建的Buff - 简洁的接口和使用方法：系统提供了简单易用的API，使得添加和应用Buff变得简单明了。 支持与联系 - 邮箱：nosloofah@qq.com - bilibili：NoSLoofah 注意 1. NoSLoofah BuffSystem/BuffSystem文件夹可以移动，但不要改变该文件夹内部的文件位置 2. 请保证项目中始终只有一个BuffMgr.prefab 3. 如果要重置所有数据，可以直接删除Assets/NoSLoofah BuffSystem/BuffSystem/Data/BuffData文件夹。下次打开BuffEditor时该文件夹会重新生成 快速上手 安装 将Assets/NoSLoofah BuffSystem/BuffSystem文件夹拷贝到你的项目 或导入Release中的unitypackage 打开编辑器和初始化 在Unity编辑器的工具栏打开Tools/BuffEditor 点击后打开Buff编辑器窗口，同时生成文件夹BuffSystem/Data/BuffData。BuffData文件夹保存了你配置的Buff数据，请不要修改其中资产的文件名，也不要改动他们的路径。 编写自定义Buff 创建任意名称的新Buff脚本，引用命名空间NoSLoofah.BuffSystem，让该类继承Buff。实现抽象类后的格式如下： 请在对应的函数里实现需要的功能。 Buff的生命周期如下： 1. 如果一个Buff没有因为Tag或其他原因被打断，那么它的生命周期是 ： 1. 在被添加的那一帧执行 OnBuffAwake 2. 下一帧执行 OnBuffStart 3. 在执行 OnBuffStart 的同一帧及此后的每一帧执行 OnBuffUpdate 。 OnBuffUpdate 内调用了两个生命周期函数，依次是 OnBuffModifyLayer 和 OnBuffTickEffect ；前者在多层Buff的层数发生变化时执行，后者则执行Buff的周期性效果（如Buff持续期间每1秒损失一点生命） 4. Buff持续时间结束时，执行 OnBuffRemove 5. 下一帧执行 OnBuffDestroy ，完成Buff的移除 注意：Buff执行的第一个Update会通过OnBuffModifyLayer将自己的层数从0提升为1，而OnBuffDestroy会将层数重置为0并F最后执行一次OnBuffModifyLayer 2. 编写自定义Buff的逻辑时，你可能会用到这些成员： 3. 开启周期性效果的函数是StartBuffTickEffect(float interval)，停止周期性效果的函数是StopBuffTickEffect() 。如果周期性效果在Buff刚被添加时就开始计时，你可以在 OnBuffStart 里调用它；当然你也可以其他生命周期函数中调用。 4. 你可以给Buff添加新的成员字段。 如果你希望在编辑器里配置这些字段，我建议用 [SerializeField] private 来修饰他们。 一个简单的中毒Buff可以这样实现： Entity1可以换成你自己的业务类 配","default_branch":null,"files":null,"tree":[],"storefront":"/r/NoSLoofah","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/NoSLoofah/Unity-Buff-System/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}