Skip to content
/ EGamePlay Public

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

License

Notifications You must be signed in to change notification settings

m969/EGamePlay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EGamePlay


这个是2.0的版本,之前的版本在1.0分支

2.0版本的改动主要有以下几个地方

1、将SkillAbility和StatusAbility统一为Ability,实体类和配置表都统一,通过配置表里的Type字段区分Skill和Buff

2、不再分Excel流程和ScriptableObject流程,2.0的效果结构更复杂,Excel不好表达,统一为Excel做技能信息配置,SO做效果配置AbilityConfigObject

3、AbilityConfigObject的效果配置拆分为触发点效果列表分开配置,通过触发点去触发效果,触发点分为主动触发和被动触发,主动触发通过技能执行体触发,其余的都是被动触发,比如大多数的buff触发机制

4、执行体里的碰撞体配置改为更方便扩展的效果列表配置


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

Stargazers over time

Stargazers over time


文档:

商业项目


知乎文章:


demo运行

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

如何制作一个简单的技能

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

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


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

如果要将EGamePlay移植到自己的Unity工程里,首先要确保Odin Inspector插件已经在工程中,并加上UNITY条件编译,最后将以下目录复制过去即可:

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

如何将EGamePlay移植到ET框架里

  • 把EGamePlay/Assets/Editor移到ET.Editor程序集下
  • 把EGamePlay/Assets/EGamePlay移到Model程序集下
  • 把EGamePlay/Assets/EGamePlay.Unity移到ModelView程序集下
  • 最后要添加条件编译EGAMEPLAY_ET

可以参考这个联网同步demo https://github.com/m969/AOGame

EGamePlay demo示意图




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

技能Excel配置

AbilityConfigExcel.png


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

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


其他类似项目


参考

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published