StickEngine-架构9-引入C#混合编程-服务端概述

大憨熊 提交于 2020-08-14 01:22:24

整体概述是   https://my.oschina.net/kkkkkkkkkkkkk/blog/3190865

引入C#是为了降低开发难度,特别是战斗服部分,相比使用lua具有高性能,双端开发等优势。

引擎主体还是C/C++实现。这一点和Unity就很像了。引入后服务端支持C/C++ Lua C#混合编程。

引入C#主要应用场景是游戏逻辑开发(主要是战斗部分)。

C#和C/C++混合运行机制在该篇进行了基础概述     Http服务器-第十步加入基于Mono平台的C#脚本支持  https://my.oschina.net/kkkkkkkkkkkkk/blog/4322402

这里阐述在StickEngine中的机制和概念及实现。

设计主体思路是C/C++实现引擎部分和大部分GamePlay框架(网络同步等)。C#实现部分逻辑编写,实现难度降低和双端开发的可能性。在API理念设计上靠向于Unity,这样开发人员上手就比较快了。C#在这里扮演的角色更像是脚本语言了。

在组织结构上有2个dll,一个是引擎层StickEngine.dll,另外一个是游戏逻辑Scripting.dll。

引擎层dll是随着C/C++版本紧密贴合的。GamePlay开发人员只需要编写Scripting.dll即可。

引擎层dll基本模式

逻辑层dll示例。

 

TODO

下篇案例讲解  MatchServer的匹配机制   https://my.oschina.net/kkkkkkkkkkkkk/blog/4335619

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!