PlayerPrefs

■概要

PlayerPrefsはハイスコアなどのゲームが終了しても
保持しておきたい数値を保存することができる機能です。

■設定方法

PlayerPrefsにデータを設定するにはSetFloatSetIntSetString関数があります。
この中で保存したいデータに該当するデータ型を選択します。

	SetFlaot:
		void SetFloat(string key, float val)

		戻り値:
			なし

		引数:
			string key
				登録キー
			
			float val
				設定する値
		
		内容:
			PlayerPrefsに登録キーの名前で値を設定する

	SetInt:
		void SetInt(string key, int val)

		戻り値:
			なし
		
		引数:
			string key
				登録キー
		
			int val
				設定する値
	
		内容:
			PlayerPrefsに登録キーの名前で値を設定する

	SetString:
		void SetString(string key, string val)

		戻り値:
			なし
		
		引数:
			string key
				登録キー
	
			string val
				設定する値
	
		内容:
			PlayerPrefsに登録キーの名前で値を設定する
	
	例:
		// HighScoreとして0の値を設定する
		PlayerPrefs.SetInt("HighScore", 0);
●取得方法
	PlayrePrefsに保存されている値を取得するには
	GetFloatGetIntGetString関数を使用します。
	値が保存されていない場合の戻り値は
	引数で指定することができます。

	GetFloat:
		float GetFloat(string key, float default_val)

		戻り値:
			PlayerPrefsにkeyがある => 設定されている値
			PlayrePrefsにkeyがない => default_val
	
		引数:
			string key:
				登録キー
			
			float defualt_val:
				keyがなかった場合の値
		
		内容:
			PlayrePrefsに登録されている登録キーの
			floatデータを取得する

	GetInt:
		int GetInt(string key, int default_val)

		戻り値:
			PlayerPrefsにkeyがある => 設定されている値
			PlayrePrefsにkeyがない => default_val
		
		引数:
			string key:
				登録キー
			
			int defualt_val:
				keyがなかった場合の値
		
		内容:
			PlayrePrefsに登録されている登録キーの
			intデータを取得する

	GetString:
		string GetString(string key, string default_val)

		戻り値:
			PlayerPrefsにkeyがある => 設定されている値
			PlayrePrefsにkeyがない => default_val
		
		引数:
			string key:
				登録キー
		
			string defualt_val:
				keyがなかった場合の値
		
		内容:
			PlayrePrefsに登録されている登録キーの
			stringデータを取得する

	例:
		int score = PlayrePrefs.GetInt("HighScore", -1);

		if (score == -1)
		{
			// HighScore未登録
		} else {
			// HighScore登録済み
		}

●登録キーチェック
	登録キーが使用されているか否かを事前にチェックしたい場合は
	HasKey関数を使用します。

	HasKey
		bool HasKey(string key)

		戻り値:
			keyが登録済み => true
			keyが未登録 => false
		
		引数:
			string key
				確認したい登録キー
		
		内容:
			PlayerPrefsに引数のキーが登録されているかを判断する

●保存方法
	Set***関数を使用した場合PlayerPrefsにデータが設定されますが、
	この状態ではまだ、PCやスマホに保存されておらず、
	ゲーム中、グローバル変数のようにどこからでも使用できるだけの状態です。
	PCやスマホに保存して次回からもPlayerPrefsで設定した値を使用するためには
	Save関数を使用してデータを保存する必要があります。

	・Saveをしなかったら
		保存しないと記述しておりますが、実際にはアプリケーションを終了する際に
		Saveは自動的に呼び出されます。
		ただ、呼び出しは正常に終了した場合に限りますので、
		確実に保存させるならば、スクリプト上で実行して下さい。

	・Save詳細
		void Save(void)

		戻り値:
			なし
	
		引数:
			なし
		
		内容:
			PlayerPrefsのデータを保存する
		
		例:
			// HighScoreに0を設定
			PlayerPrefs.setInt("HighScore", 0);

			// PlayerPrefsのデータを保存する
			PlayerPrefs.save();

●削除方法
	PlayerPrefsの保存されたデータは一度作成すると
	開発側で削除処理を行わない限り消えることはありません。
	削除方法はPlayerPrefs全てを消す方法と、
	指定したキーだけを削除する方法があります。

	・全体削除
		void DeleteAll(void)

		戻り値:
			なし
		
		引数:
			なし
	
		内容:
			PlayerPrefsのデータを全て削除する

	・単体削除
		void DeleteKey(string key)

		戻り値:
			なし
	
		引数:
			string key
				削除したい登録キー
	
		内容:
			引数でしたキーをPlayerPrefsから削除する

	削除関数を実行した場合、自動的にsaveも行われます。

	例1:
		// HighScoreをPlayerPrefsから削除する
		PlayerPrefs.DeleteKey("HighScore");

	例2:
		// PlayerPrefsのデータを全て削除する
		PlayerPrefs.DeleteAll();

■保存テクニック

intよりも大きな数値を保存したい場合はstringを利用して保存を行います。
	
●設定方法
	設定にはlong変数のToString関数を使用します。
	ToStringは変数に格納されている値をstring型に変換してくれる関数です。

		string ToString(void)
			戻り値:
				数値変換後の文字列
	
			引数:
				なし
	
			内容:
				変数の値に格納されている値を
				文字列に変換する
	
			例:
				long val = 0;
				// 0 => "0"に変換
				string str = val.ToString();
				Debug.Log(str);

				// 出力結果
				0

	例:
		long high_score = 1000000000;
		// 1000000000 => "1000000000"としてPlayerPrefsに設定
		PlayerPrefs.SetString("HighScore", high_score.ToString());

●取得方法
	stringで設定したlong型の値を取得するにはlong型関数の「Parse」を使用します。
	Parse関数は受け取った引数の値をlong型の値に変換してくれます。

	long Parse(string str)
		戻り値:
			文字列をlong型の値に変換して返す
	
		引数:
			string str
				変換対象文字列
		
		内容:
			引数の文字列をlong型の値に変換する
			※変換できなければエラー
	
	例:
		// HighScoreのデータを取得
		string high_score_str = PlayerPrefs.GetString("HighScore", "0");
		// long型の値に変換
		long high_score = long.Parse(high_score_str);