/EGamePlay

一个基于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.

Primary LanguageC#MIT LicenseMIT

EGamePlay


Unity Version: 2021.3.1f1 Status: Work-in-progress

Stargazers over time

Stargazers over time


文档:


知乎文章:


demo运行

  • rpg demo,运行RpgExample Scene场景
  • 回合制demo,运行TurnBaseExample Scene场景
  • 技能调试编辑,运行ExecutionLinkScene场景

如何制作一个简单的技能

  • 首先在SkillConfig表里添加一个技能,给定技能id,配置参数
  • 然后右键选择 技能|状态/技能配置 创建对应id的技能配置,配置效果
  • 然后右键选择 技能|状态/Execution 创建对应id的技能执行体,配置片段表现
  • 最后就是运行时将技能挂载到CombatEntity上,再通过施法组件SpellComponent释放技能即可

该项目使用了以下收费插件:


如何将EGamePlay移植到别的Unity工程

如果要将EGamePlay移植到自己的Unity工程里,首先要确保Odin Inspector插件已经在工程中,然后再将以下目录拖过去即可:

  • EGamePlay/Assets/Editor
  • EGamePlay/Assets/EGamePlay
  • EGamePlay/Assets/EGamePlay.Unity
  • Plugins/Editor/npoi

如果要使用Excel配置流程的话,还需要将以下目录复制过去,再生成配置

  • EGamePlay/Excel


CombatEntity CombatEntity
Attribute、Numeric NumericFloat
Ability Ability
StatusAbility StatusAbility
SkillAbility SkillAbility
AbilityEffect AbilityEffect
ExpressionParser ExpressionParser
ExecutionLink ExecutionLink

基于Odin和ScriptableObject实现的灵活的技能、buff配置工具

SkillConfigImage.png


技能ScriptableObject配置和Excel配置流程切换命令

之前的命令新版unity用不了了,需要手动到PlayerSettings面板添加 EGAMEPLAY_EXCEL 条件编译

技能Excel配置

SkillConfigImage.png

状态Excel配置

SkillConfigImage.png

技能效果Excel配置

SkillConfigImage.png


EGamePlay战斗框架技术讨论交流qq群:763696367

对战斗感兴趣的同学可以进群一起探讨更合适、高效的战斗框架实现
对EGamePlay有任何疑问或建议可以进群反馈,或是提在Discussions


联网同步demo在这里 https://github.com/m969/AOGame


其他类似项目


参考