{"repo":"m969/EGamePlay","free":true,"listed":false,"github":"https://github.com/m969/EGamePlay","clone":"git clone https://github.com/m969/EGamePlay.git","description":"一个基于Entity-Component模式的灵活、通用、可扩展的轻量战斗（技能）框架，配置可选使用ScriptableObject或是Excel表格. A flexible, generic, easy to extend, lightweight combat (skills) framework based on Entity-Component pattern. Configuration can choose to use ScriptableObject or Excel tables.","language":"C#","stars":2372,"topics":["unity","gameplay","skill","buff","status","editor","scriptableobject","skillsystem","rpg","mmorpg"],"license":"MIT","category":"game-templates","readme_excerpt":"EGamePlay --- 3.0版本 1、3.0版本技能配置数据结构没有变动，主要是运行时的业务代码大重构 2、引入了EcsNode框架 [https://github.com/m969/EcsNode] ，引入System概念，基于EcsNode的 实体-组件-系统 模式重构了运行时代码，将逻辑和数据分离，将业务逻辑和视图逻辑分离 3、去掉了回合制demo，仅保留Rpg demo示例 2.0版本在2.0分支 1.0版本在1.0分支 --- Stargazers over time --- 文档： - EGamePlay文档(wiki) 商业项目 - 暗黑之地 https://www.taptap.cn/app/227372 一个人开发，用EGP重写了整个战斗后重新上线 --- 知乎文章： - 0、如何实现一个灵活、通用的战斗（技能）系统——序章 - 1、如何实现一个灵活、通用的战斗（技能）系统——数值系统 - 2、如何实现一个灵活、通用的战斗（技能）系统——数值系统（升级版） - 3、如何实现一个灵活、通用的战斗（技能）系统——战斗行动机制 - 4、如何实现一个灵活、通用的战斗（技能）系统——战斗实体 - 5、如何实现一个灵活、通用的战斗（技能）系统——能力Ability - 6、如何实现一个灵活、通用的战斗（技能）系统——Status状态效果 - 7、如何实现一个灵活、通用的战斗（技能）系统——Skill技能 - 8、如何实现一个灵活、通用的战斗（技能）系统——技能效果 - 9、如何实现一个灵活、通用的战斗（技能）系统——Entity-Component模式 --- demo运行 - rpg demo，运行RpgExample Scene场景 - 技能调试编辑，运行ExecutionLinkScene场景 --- 如何制作一个简单的技能 - 首先在AbilityConfig.xlsx表里添加一个技能，给定技能id，配置参数 - 在Project面板右键选择 创建对应id的技能配置，配置效果 - 在Project面板右键选择 创建对应id的技能执行体，配置片段表现 - 最后就是运行时将技能挂载到CombatEntity上，再通过施法组件SpellComponent释放技能即可 --- 该项目使用了以下收费插件： - DOTween Pro （简单易用强大的动画插件） - Odin Inspector （编辑器扩展、工作流改善） - Animancer Pro （基于Playable的简单强大的Animation解决方案） --- 如何将EGamePlay移植到别的Unity工程 如果要将EGamePlay移植到自己的Unity工程里，首先要确保Odin Inspector插件已经在工程中，并加上UNITY条件编译，最后将以下目录复制过去即可： - /Assets/Gizmos - /Assets/Game.Model - /Assets/Game.System - /Assets/Game.ThirdParty - /Assets/Unity.EditorScripts/Editor - /Assets/Unity.Scripts/UnityMono/EGamePlay - /Assets/Plugins/Editor/npoi - /Excel - 目前还不是完美接入，接入过程中会有冲突或者缺失，需要按需处理 --- 如何将EGamePlay移植到ET框架里(以ET8.1版本为例) - 把 /Assets/Unity.EditorScrip","default_branch":null,"files":null,"tree":[],"storefront":"/r/m969","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/m969/EGamePlay/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."}