Skip to content

Commit 2bfcf93

Browse files
committed
docs(serializer): 更新多语言 README,补充 IMessageSerializer 集成和自动注册说明
Ref GameFrameX/com.gameframex.unity#4
1 parent 24c73fc commit 2bfcf93

4 files changed

Lines changed: 76 additions & 0 deletions

File tree

README.ja.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,22 @@ protobuf-net は、.NET コード向けのコントラクトベースのシリ
2222

2323
このライブラリは主に `https://github.com/GameFrameX/GameFrameX` プロジェクトのサブモジュールとして使用されています。
2424

25+
本パッケージは `ProtobufMessageSerializer` を提供しており、これは `com.gameframex.unity.network``IMessageSerializer` インターフェースの実装です。Unity ランタイムのロード時に `MessageSerializerRegistry.RegisterGlobal()` を介してグローバルデフォルトシリアライザとして自動登録されるため、後方互換性のためにコードの変更は不要です。
26+
2527
## 特徴
2628

2729
- **コントラクトベース** - .NET 属性を使用したシリアライゼーションコントラクト
2830
- **高性能** - 効率的なバイナリシリアライゼーション形式
2931
- **クロスプラットフォーム** - すべての .NET プラットフォームで動作
3032
- **.NET パターン** - 典型的な .NET シリアライゼーションパターンに従う
3133
- **Unity Package サポート** - Unity Package Manager サポートを追加
34+
- **IMessageSerializer 統合** - ネットワークパッケージのプラグイン可能なシリアライゼーションのための `IMessageSerializer` を実装
35+
- **自動登録** - ロード時にグローバルデフォルトシリアライザとして自動登録(ゼロ設定で後方互換)
3236

3337
## インストール
3438

39+
> **注意:** 本パッケージは `com.gameframex.unity.network`(>= 2.5.1)に依存しており、このパッケージが `IMessageSerializer` インターフェースを提供しています。Unity Package Manager が自動的に依存関係を解決します。
40+
3541
### Git URL 経由(推奨)
3642

3743
1. Unity エディタで Package Manager を開く
@@ -63,6 +69,19 @@ protobuf-net は、.NET コード向けのコントラクトベースのシリ
6369

6470
protobuf-net の使用ドキュメントは [protobuf-net/protobuf-net](https://github.com/protobuf-net/protobuf-net) をご覧ください。
6571

72+
### 手動シリアライザ登録
73+
74+
`ProtobufMessageSerializer` はロード時に自動登録されます。置き換えや手動登録が必要な場合:
75+
76+
```csharp
77+
// 手動登録(例:グローバルシリアライザをリセットした後)
78+
MessageSerializerRegistry.RegisterGlobal(new ProtobufMessageSerializer());
79+
80+
// チャネル単位のオーバーライドとして使用
81+
var helper = new DefaultNetworkChannelHelper();
82+
helper.SetChannelSerializer(new ProtobufMessageSerializer()); // Initialize() の前に呼び出す必要があります
83+
```
84+
6685
## 変更履歴
6786

6887
詳細は [CHANGELOG.md](CHANGELOG.md) をご覧ください。

README.ko.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,22 @@ protobuf-net은 .NET 코드를 위한 계약 기반 직렬화 도구로, Google
2222

2323
이 라이브러리는 주로 `https://github.com/GameFrameX/GameFrameX` 프로젝트의 서브모듈로 사용됩니다.
2424

25+
본 패키지는 `ProtobufMessageSerializer`를 제공하며, 이는 `com.gameframex.unity.network``IMessageSerializer` 인터페이스 구현체입니다. Unity 런타임 로드 시 `MessageSerializerRegistry.RegisterGlobal()`을 통해 전역 기본 직렬화 도구로 자동 등록되므로, 하위 호환성을 위해 코드를 변경할 필요가 없습니다.
26+
2527
## 특징
2628

2729
- **계약 기반** - .NET 속성을 사용한 직렬화 계약 정의
2830
- **고성능** - 효율적인 바이너리 직렬화 형식
2931
- **크로스 플랫폼** - 모든 .NET 플랫폼에서 작동
3032
- **.NET 패턴** - 일반적인 .NET 직렬화 패턴을 따름
3133
- **Unity Package 지원** - Unity Package Manager 지원 추가
34+
- **IMessageSerializer 통합** - 네트워크 패키지의 플러그형 직렬화를 위한 `IMessageSerializer` 구현
35+
- **자동 등록** - 로드 시 전역 기본 직렬화 도구로 자동 등록 (제로 설정 하위 호환)
3236

3337
## 설치
3438

39+
> **참고:** 본 패키지는 `com.gameframex.unity.network`(>= 2.5.1)에 종속되며, 해당 패키지가 `IMessageSerializer` 인터페이스를 제공합니다. Unity Package Manager가 자동으로 종속성을 해결합니다.
40+
3541
### Git URL을 통해 설치 (권장)
3642

3743
1. Unity 에디터에서 Package Manager 열기
@@ -63,6 +69,19 @@ protobuf-net은 .NET 코드를 위한 계약 기반 직렬화 도구로, Google
6369

6470
protobuf-net 사용 문서는 [protobuf-net/protobuf-net](https://github.com/protobuf-net/protobuf-net)을 방문하세요.
6571

72+
### 수동 직렬화 도구 등록
73+
74+
`ProtobufMessageSerializer`는 로드 시 자동 등록됩니다. 교체하거나 수동으로 등록해야 하는 경우:
75+
76+
```csharp
77+
// 수동 등록 (예: 전역 직렬화 도구를 재설정한 후)
78+
MessageSerializerRegistry.RegisterGlobal(new ProtobufMessageSerializer());
79+
80+
// 채널별 오버라이드로 사용
81+
var helper = new DefaultNetworkChannelHelper();
82+
helper.SetChannelSerializer(new ProtobufMessageSerializer()); // Initialize() 전에 호출해야 합니다
83+
```
84+
6685
## 변경 로그
6786

6887
자세한 내용은 [CHANGELOG.md](CHANGELOG.md)를 참조하세요.

README.zh-CN.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,22 @@ protobuf-net 是一个基于契约的 .NET 代码序列化器,使用 Google
2222

2323
该库主要服务于 `https://github.com/GameFrameX/GameFrameX` 项目作为子库使用。
2424

25+
本包提供了 `ProtobufMessageSerializer`,它是 `com.gameframex.unity.network``IMessageSerializer` 接口的实现。在 Unity 运行时加载时,会通过 `MessageSerializerRegistry.RegisterGlobal()` 自动注册为全局默认序列化器,无需修改任何代码即可实现向后兼容。
26+
2527
## 特性
2628

2729
- **基于契约** - 使用 .NET 特性进行序列化契约定义
2830
- **高性能** - 高效的二进制序列化格式
2931
- **跨平台** - 适用于所有 .NET 平台
3032
- **.NET 模式** - 遵循典型的 .NET 序列化模式
3133
- **Unity Package 支持** - 添加了 Unity Package Manager 支持
34+
- **IMessageSerializer 集成** - 实现了 `IMessageSerializer` 接口,支持网络包的可插拔序列化
35+
- **自动注册** - 加载时自动注册为全局默认序列化器(零配置向后兼容)
3236

3337
## 安装
3438

39+
> **注意:** 本包依赖于 `com.gameframex.unity.network`(>= 2.5.1),该包提供了 `IMessageSerializer` 接口。Unity Package Manager 会自动解析此依赖。
40+
3541
### 通过 Git URL 安装(推荐)
3642

3743
1. 在 Unity 编辑器中打开 Package Manager
@@ -63,6 +69,19 @@ protobuf-net 是一个基于契约的 .NET 代码序列化器,使用 Google
6369

6470
protobuf-net 使用文档请访问 [protobuf-net/protobuf-net](https://github.com/protobuf-net/protobuf-net)
6571

72+
### 手动注册序列化器
73+
74+
`ProtobufMessageSerializer` 会在加载时自动注册。如果需要替换或手动注册:
75+
76+
```csharp
77+
// 手动注册(例如在重置全局序列化器之后)
78+
MessageSerializerRegistry.RegisterGlobal(new ProtobufMessageSerializer());
79+
80+
// 作为单通道覆盖使用
81+
var helper = new DefaultNetworkChannelHelper();
82+
helper.SetChannelSerializer(new ProtobufMessageSerializer()); // 必须在 Initialize() 之前调用
83+
```
84+
6685
## 更新日志
6786

6887
详见 [CHANGELOG.md](CHANGELOG.md)

README.zh-TW.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,22 @@ protobuf-net 是一個基於契約的 .NET 程式碼序列化器,使用 Google
2222

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

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

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

3337
## 安裝
3438

39+
> **注意:** 本套件依賴於 `com.gameframex.unity.network`(>= 2.5.1),該套件提供了 `IMessageSerializer` 介面。Unity Package Manager 會自動解析此依賴。
40+
3541
### 透過 Git URL 安裝(推薦)
3642

3743
1. 在 Unity 編輯器中開啟 Package Manager
@@ -63,6 +69,19 @@ protobuf-net 是一個基於契約的 .NET 程式碼序列化器,使用 Google
6369

6470
protobuf-net 使用文檔請造訪 [protobuf-net/protobuf-net](https://github.com/protobuf-net/protobuf-net)
6571

72+
### 手動註冊序列化器
73+
74+
`ProtobufMessageSerializer` 會在載入時自動註冊。如果需要替換或手動註冊:
75+
76+
```csharp
77+
// 手動註冊(例如在重設全域序列化器之後)
78+
MessageSerializerRegistry.RegisterGlobal(new ProtobufMessageSerializer());
79+
80+
// 作為單通道覆蓋使用
81+
var helper = new DefaultNetworkChannelHelper();
82+
helper.SetChannelSerializer(new ProtobufMessageSerializer()); // 必須在 Initialize() 之前呼叫
83+
```
84+
6685
## 更新日誌
6786

6887
詳見 [CHANGELOG.md](CHANGELOG.md)

0 commit comments

Comments
 (0)