バックアップツールに必須となるのは、バックアップの対象が参照できることです。まずは、バックアップ対象を参照する機能を作成します。
エンティティオブジェクト作成
フォルダー追加
エンティティオブジェクトをまとめるためのフォルダーを作成します。
クラス(オブジェクト)の追加
バックアップ対象を管理するためのクラス(オブジェクト)を追加します。
あまり頑張らないで暇つぶし
セーブデータをバックアップするツール
バックアップツールに必須となるのは、バックアップの対象が参照できることです。まずは、バックアップ対象を参照する機能を作成します。
エンティティオブジェクトをまとめるためのフォルダーを作成します。
バックアップ対象を管理するためのクラス(オブジェクト)を追加します。
アプリケーションを作成するにあたり、画面の構成が分かりやすいのが一番よいなと考えながら作成します。まずは、「操作画面」と「設定画面」をタブ選択で切り替えができるようにします。
メイン操作画面と設定画面を切り替える方法としてタブ選択がよいかなと考えます。なるべく、1画面に集約した方が使いやすいと個人的には思います。
まずは、ツールボックスから「TabControl」を選択して画面へドラッグアンドドロップします。
配置された「タブコントロール」をサイズを全画面に広げます。画面の角付近になると自動的に配置位置(画面淵からの幅)を調整してくれるのでそのまま配置します。
タブの表示名称を変更します。画面に配置されている「タブコントロール」の上にある「TabItem」をクリックします。クリックしたらプロパティの「Header」を編集します。
変更すると以下のようになります。
マインクラフトをプレイしていていきなりの「クラッシュ」こんな悲劇は繰り返したくないので、まじめに必要機能を考えてみます。
WindowsでPC版をプレイしているので対象範囲は以下の通りとします。
上記、動作要件から以下の開発環境にします。
実装する機能として欲しいと思うのは以下の通りです。
定期的なタイミングでセーブデータをバックアップする機能です。
セーブデータの世代管理を行う機能です。
セーブデータを選択して復元する機能です。
地形情報が破損した場合、自動バックアップで保存したファイルから復元できない場合はあきらめます。
「level.dat」ファイルが破損した場合、自動バックアップで保存したファイルから復元できない場合は初回にバックアップした状態の「level.dat」から復元することも考慮して、破損時に持っていた持ち物などはあきらめます。