Skip to content

Latest commit

 

History

History
91 lines (60 loc) · 3.61 KB

File metadata and controls

91 lines (60 loc) · 3.61 KB
GameFrameX Logo

GameFrameX Google Protocol Buffers

Version License Documentation

獨立遊戲前後端一體化解決方案 · 獨立遊戲開發者的圓夢大使

文檔 | 快速開始

English | 简体中文 | 繁體中文 | 日本語 | 한국어


項目簡介

protobuf-net 是一個基於契約的 .NET 程式碼序列化器,使用 Google 設計的 "protocol buffers" 序列化格式寫入資料。其 API 遵循典型的 .NET 模式(與 XmlSerializer、DataContractSerializer 等廣泛可比)。它適用於大多數撰寫標準型別並可以使用特性的 .NET 語言。

該庫主要服務於 https://github.com/GameFrameX/GameFrameX 專案作為子庫使用。

本套件提供了 ProtobufMessageSerializer,它是 com.gameframex.unity.networkIMessageSerializer 介面的實作。在 Unity 執行階段載入時,會透過 MessageSerializerRegistry.RegisterGlobal() 自動註冊為全域預設序列化器,無需修改任何程式碼即可實現向下相容。

特性

  • 基於契約 - 使用 .NET 特性進行序列化契約定義
  • 高效能 - 高效的二進位序列化格式
  • 跨平台 - 適用於所有 .NET 平台
  • .NET 模式 - 遵循典型的 .NET 序列化模式
  • Unity Package 支援 - 新增了 Unity Package Manager 支援
  • IMessageSerializer 整合 - 實作了 IMessageSerializer 介面,支援網路套件的可插拔序列化
  • 自動註冊 - 載入時自動註冊為全域預設序列化器(零配置向下相容)

安裝

注意: 本套件依賴於 com.gameframex.unity.network(>= 2.5.1),該套件提供了 IMessageSerializer 介面。Unity Package Manager 會自動解析此依賴。

透過 Git URL 安裝(推薦)

  1. 在 Unity 編輯器中開啟 Package Manager
  2. 點擊 "+" 按鈕選擇 "Add package from git URL"
  3. 輸入以下 URL:
    https://github.com/GameFrameX/com.gameframex.unity.google.protobuf.git
    

透過 manifest.json 安裝

在專案的 Packages/manifest.json 檔案中新增:

{
  "dependencies": {
    "com.gameframex.unity.google.protobuf": "https://github.com/GameFrameX/com.gameframex.unity.google.protobuf.git"
  }
}

手動安裝

  1. 下載最新版本發佈包
  2. 解壓縮到專案的 Packages 目錄下
  3. Unity 會自動辨識並載入包

使用文檔

protobuf-net 使用文檔請造訪 protobuf-net/protobuf-net

手動註冊序列化器

ProtobufMessageSerializer 會在載入時自動註冊。如果需要替換或手動註冊:

// 手動註冊(例如在重設全域序列化器之後)
MessageSerializerRegistry.RegisterGlobal(new ProtobufMessageSerializer());

// 作為單通道覆蓋使用
var helper = new DefaultNetworkChannelHelper();
helper.SetChannelSerializer(new ProtobufMessageSerializer()); // 必須在 Initialize() 之前呼叫

更新日誌

詳見 CHANGELOG.md

開源協議

本專案基於 MIT 協議開源,詳見 LICENSE.md