C#游戏双端框架(未完待续)

"客户端使用Unity、服务端C#­"

Posted by Gumc on August 8, 2022

看了ET和Geek两个双端框架,ET和Geek都并不太符合要求。Geek更用于轻度些的,这里是一些注释笔记

Geek

目录

  • Bedrock.Framework 该库似乎还是Alpha
  • GeekServer.App
    • Config
    • Logic
      • Bag
        • BagComp.cs 背包数据,需要存储到DB所以是继承StateComponent
      • Common
      • Login
        • LoginComp.cs 登录数据,需要查询DB所以继承QueryComponent
      • Role
        • RoleComp 玩家基础数据,继承StateComponent
      • Server
        • ServerComp.cs 服务器数据
      • GameLoop.cs 服务器的循环?
  • GeekServer.CodeGenerator 代码生成工具
    • Agent
    • Sate
    • Template
    • Utils
  • GeekServer.Core
    • Actor
    • Callback
    • Component
    • Entity
    • Events
    • Hotfix
    • Net
      • Http
        • HttpTool.cs 使用System.Net.Http.HttpClient能够同时在客户端与服务端同时使用的 HTTP 组件(比如处理 HTTP 标头和消息), 为客户端和服务端提供一致的编程模型。主要用来给服务器错误关闭前发送通知。
      • GameServer.cs
    • Serialize
    • Storage
    • Timer
    • Utils
  • GeekServer.Generate
  • GeekServer.Hotfix
  • GeekServer.Proto
  • GeekServer.Serialize
  • GeekServer.Test
  • GeekServer.xUnit
  • Tools
    • ExcelGen
    • Geek.MsgPackTool
  • UnityDemo/Assets/Scripts
    • Framework
      • Actor
      • Bedrock
      • Event
      • Net
      • Serialize
      • Utils
    • Generate
      • Config
      • Proto
    • Logic
    • MessagePack

MessagePackTool

由于C#的MessagePack通过运行时动态生成IL来序列化自定义对象,从而为每种类型创建自定义的、高度优化的格式化程序。但Unity IL2CPP等严格AOT环境禁止生成运行时代码,所以MessagePackTool提供了一种提前运行代码生成器的方法。 MessagePackTool核心在于增加项目通过配置读取输入输出配置,然后调用MessagePack提供的mpc工具生成