[Departure from the Void] マスターデータのシリアライザ

一昨日に紹介した以下クラス図のクラスを黙々と実装しています。

20170206_2

今日はこれらのうち、左側のIMasterSerializerJsonSerializerをサクッと作りました。

IMasterSerializer

JsonSerializer

ほぼクラス図のままです。

IMasterSerializerはシリアライザのインタフェースクラスでこれを継承したJsonSerializerがJSON用シリアライザです。
JSONのシリアライズ/デシリアライズには、Unity標準のシリアライザを用いました。
APIを一つ叩くだけで良いので非常に楽ですね。

シリアライズされたデータはファイルへの保存も考慮してバイナリ形式を表すbyte[]で返すようにしました。
後に実装するMsgPackSerializerに差し替え可能にするためです。

意外とあっさりと実装したシリアライザですが、このシリアライズ用データを作るためのツール作成がやや面倒です。
このツールが完成すれば、ゲームのレベルデザインとこのマスターデータ化がかなり楽になりそうです。