Skip to content

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

hf1037277956/EGamePlay

This branch is 4 commits behind m969/EGamePlay:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e447c5d · Sep 29, 2024
Sep 1, 2024
Aug 18, 2024
Jul 15, 2024
Jul 15, 2024
Aug 20, 2024
Sep 1, 2024
May 13, 2024
Sep 29, 2024

Repository files navigation

EGamePlay


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

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

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

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

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


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



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

技能Excel配置

AbilityConfigExcel.png


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

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


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


其他类似项目


参考

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 99.0%
  • ShaderLab 1.0%