Retour au classement

m969/EGamePlay

C#

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

unitygameplayskillbuffstatuseditorscriptableobjectskillsystemrpgmmorpgframeworkodin-inspector
Croissance des étoiles
Étoiles
2.4k
Forks
544
Croissance hebdomadaire
Issues
0
1k2k
nov. 2020sept. 2022août 2024juil. 2026
README

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


Unity Version: 2022.3.53f1 Status: 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


其他类似项目


包含


参考

Dépôts similaires
icsharpcode/ILSpy

.NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!

C#MIT Licensedecompilerdecompiler-engine
25.7k3.7k
Donchitos/Claude-Code-Game-Studios

Turn Claude Code into a full game dev studio — 49 AI agents, 72 workflow skills, and a complete coordination system mirroring real studio hierarchy.

ShellMIT Licenseai-agentsai-assisted-development
23.3k3.3k
lettier/3d-game-shaders-for-beginners

🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.

C++shaders3d
lettier.github.io/3d-game-shaders-for-beginners/index.html
19.8k1.5k
Unity-Technologies/ml-agents

The Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project that enables games and simulations to serve as environments for training intelligent agents using deep reinforcement learning and imitation learning.

C#Otherreinforcement-learningunity3d
unity.com/products/machine-learning-agents
19.6k4.5k
Perfare/AssetStudio

AssetStudio is a tool for exploring, extracting and exporting assets and assetbundles.

C#MIT Licenseunity3dunity
15.6k2.9k
heroiclabs/nakama

Scalable open-source game backend server: multiplayer, matchmaking, leaderboards, chat, and social features for games.

GoGo ModulesApache License 2.0multiplayerbackend
heroiclabs.com
12.9k1.4k
CoplayDev/unity-mcp

Unity MCP acts as a bridge between AI assistants and your Unity Editor. Give your LLM tools to manage assets, control scenes, edit scripts, and automate tasks within Unity.

C#MIT Licenseaiai-integration
coplaydev.github.io/unity-mcp/
12.7k1.3k
Cysharp/UniTask

Provides an efficient allocation free async/await integration for Unity.

C#MIT Licensecsharpunity
11.1k1k
Tencent/xLua

xLua is a lua programming solution for C# ( Unity, .Net, Mono) , it supports android, ios, windows, linux, osx, etc.

COtherluaunity
10.1k2.5k
egametang/ET

Unity3D Client And C# Server Framework

C#Otherc-sharpserver
9.9k3.2k
Perfare/Il2CppDumper

Unity il2cpp reverse engineer

C#MIT Licenseil2cppreverse-engineering
9.2k1.9k
jynew/jynew

JinYongLegend-like RPG Game Framework with full Modding support and 10+ hours playable samples of game.

C#Otherjinyongunity
8.9k1.9k