Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

NotificationsYou 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


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分支


Unity Version: 2022.3.53f1Status: Work-in-progress

Stargazers over time

Stargazers over time


文档:

商业项目


知乎文章:


demo运行

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

如何制作一个简单的技能

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

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


如何将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.EditorScripts/Editor 移到ET.Editor程序集下
  • 把 /Assets/Unity.Scripts/UnityMono/EGamePlay 移到ET.Loader程序集下
  • 把 /Assets/Game.Model 里的业务代码移到Model程序集下
  • 把 /Assets/Game.Model 里的视图代码移到ModelView程序集下
  • 把 /Assets/Game.System 里的业务代码移到Hotfix程序集下
  • 把 /Assets/Game.System 里的视图代码移到HotfixView程序集下
  • 把 /Assets/Game.ThirdParty 移到ThirdParty程序集下
  • 视图代码看文件夹,包含View或Unity字符的就是视图代码(比如Game.MapView,Game.UnitySystem),其余的就是纯业务代码
  • 最后要添加条件编译EGAMEPLAY_ET
  • ETHelper文件夹里是老版本的ET代码,会和ET框架的代码有冲突,可以整个删掉,改成用原ET框架的代码,配置表流程也需要改成原ET框架的流程
  • 目前还不是完美接入,接入过程中会有冲突或者缺失,需要按需处理

EGamePlay demo示意图


  • rpg demo,运行RpgExample Scene场景

  • 回合制demo,运行TurnBaseExample Scene场景(在2.0和1.0分支)

  • 技能调试编辑,运行ExecutionLinkScene场景



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

  • 可使用菜单栏:Assets/Create/能力/能力配置 创建能力效果配置

  • 可使用菜单栏:Tools/EGamePlay/SkillEditorWindow 打开SkillEditorWindow界面

技能Excel配置

  • 可使用菜单栏:Tools/导出配置 生成json和配置类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

Contributors2

  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp