本日はアプリ作成枠です。
HoloLens2でホロモンアプリを作る進捗を書き留めていきます。
今回はホロモンの状態をファイル保存するメモです。
オブジェクトのXMLドキュメントへのシリアル化と書き出し
オブジェクトのXMLドキュメントへのシリアル化と書き出しを使ってホロモンの状態を保存します。
docs.microsoft.com
XMLドキュメントへのシリアル化の詳細は以下の記事を参照ください。
bluebirdofoz.hatenablog.com
ホロモンのコンディション情報をシリアル化を使ってファイルへの書き出しと読み込みを行います。
動作確認
シーンを再生してファイル保存を実行してみました。
以下の通り、xml ファイルが出力されます。
内容を確認してみます。
以下の通り、HoloMonSaveData クラスで保持していた情報が XML ドキュメントに変換されて出力されています。
<?xml version="1.0" encoding="utf-8"?> <HoloMonSaveData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SavedDataTime> <Value>2022-01-08T14:43:20.5614211+09:00</Value> </SavedDataTime> <SavedPackageVersion> <Major>0</Major> <Minor>0</Minor> <Build>0</Build> <Revision>0</Revision> </SavedPackageVersion> <AppName>TestApp</AppName> <BodyStatus> <Initialized>true</Initialized> <BirthTime> <LastUpdateDateTime>2022-01-08T14:41:25.1222331+09:00</LastUpdateDateTime> <Value>2022-01-08T14:41:25.1222331+09:00</Value> </BirthTime> <AgeOfDay> <LastUpdateDateTime>0001-01-01T00:00:00</LastUpdateDateTime> <Value>0</Value> </AgeOfDay> <BodyHeight> <LastUpdateDateTime>2022-01-08T14:41:54.4948806+09:00</LastUpdateDateTime> <Value>0.42</Value> </BodyHeight> <DefaultBodyHeight> <LastUpdateDateTime>2022-01-08T14:41:25.12323+09:00</LastUpdateDateTime> <Value>0.4</Value> </DefaultBodyHeight> <BodyPower> <LastUpdateDateTime>2022-01-08T14:41:55.116408+09:00</LastUpdateDateTime> <Value>0.02</Value> </BodyPower> </BodyStatus> <LifeStatus> <Initialized>true</Initialized> <HungryPercent> <LastUpdateDateTime>2022-01-08T14:41:55.116408+09:00</LastUpdateDateTime> <Value>70</Value> </HungryPercent> <HumorPercent> <LastUpdateDateTime>2022-01-08T14:41:25.1152605+09:00</LastUpdateDateTime> <Value>50</Value> </HumorPercent> <StaminaPercent> <LastUpdateDateTime>2022-01-08T14:41:25.1152605+09:00</LastUpdateDateTime> <Value>50</Value> </StaminaPercent> <PoopPercent> <LastUpdateDateTime>2022-01-08T14:41:25.1152605+09:00</LastUpdateDateTime> <Value>99</Value> </PoopPercent> <SleepinessLevel> <LastUpdateDateTime>0001-01-01T00:00:00</LastUpdateDateTime> <Value>Nothing</Value> </SleepinessLevel> </LifeStatus> </HoloMonSaveData>