diff options
Diffstat (limited to 'GameCode/PlayerFace.cs')
-rw-r--r-- | GameCode/PlayerFace.cs | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/GameCode/PlayerFace.cs b/GameCode/PlayerFace.cs new file mode 100644 index 0000000..f6e69f3 --- /dev/null +++ b/GameCode/PlayerFace.cs @@ -0,0 +1,84 @@ +using System; +using UnityEngine; + +[Serializable] +public class PlayerFace +{ + public int eyeID; + + public Vector2 eyeOffset; + + public int mouthID; + + public Vector2 mouthOffset; + + public int detailID; + + public Vector2 detailOffset; + + public int detail2ID; + + public Vector2 detail2Offset; + + public void LoadFace(string key) + { + eyeID = PlayerPrefs.GetInt("eyeID-" + key); + eyeOffset.x = PlayerPrefs.GetFloat("eyeOffsetX-" + key); + eyeOffset.y = PlayerPrefs.GetFloat("eyeOffsetY-" + key); + mouthID = PlayerPrefs.GetInt("mouthID-" + key); + mouthOffset.x = PlayerPrefs.GetFloat("mouthOffsetX-" + key); + mouthOffset.y = PlayerPrefs.GetFloat("mouthOffsetY-" + key); + detailID = PlayerPrefs.GetInt("detailID-" + key); + detailOffset.x = PlayerPrefs.GetFloat("detailOffsetX-" + key); + detailOffset.y = PlayerPrefs.GetFloat("detailOffsetY-" + key); + detail2ID = PlayerPrefs.GetInt("detail2ID-" + key); + detail2Offset.x = PlayerPrefs.GetFloat("detail2OffsetX-" + key); + detail2Offset.y = PlayerPrefs.GetFloat("detail2OffsetY-" + key); + } + + internal static PlayerFace CopyFace(PlayerFace currentPlayerFace) + { + return new PlayerFace + { + eyeID = currentPlayerFace.eyeID, + eyeOffset = currentPlayerFace.eyeOffset, + mouthID = currentPlayerFace.mouthID, + mouthOffset = currentPlayerFace.mouthOffset, + detailID = currentPlayerFace.detailID, + detailOffset = currentPlayerFace.detailOffset, + detail2ID = currentPlayerFace.detail2ID, + detail2Offset = currentPlayerFace.detail2Offset + }; + } + + internal static PlayerFace CreateFace(int eyeID, Vector2 eyeOffset, int mouthID, Vector2 mouthOffset, int detailID, Vector2 detailOffset, int detail2ID, Vector2 detail2Offset) + { + return new PlayerFace + { + eyeID = eyeID, + eyeOffset = eyeOffset, + mouthID = mouthID, + mouthOffset = mouthOffset, + detailID = detailID, + detailOffset = detailOffset, + detail2ID = detail2ID, + detail2Offset = detail2Offset + }; + } + + public void SaveFace(string key) + { + PlayerPrefs.SetInt("eyeID-" + key, eyeID); + PlayerPrefs.SetFloat("eyeOffsetX-" + key, eyeOffset.x); + PlayerPrefs.SetFloat("eyeOffsetY-" + key, eyeOffset.y); + PlayerPrefs.SetInt("mouthID-" + key, mouthID); + PlayerPrefs.SetFloat("mouthOffsetX-" + key, mouthOffset.x); + PlayerPrefs.SetFloat("mouthOffsetY-" + key, mouthOffset.y); + PlayerPrefs.SetInt("detailID-" + key, detailID); + PlayerPrefs.SetFloat("detailOffsetX-" + key, detailOffset.x); + PlayerPrefs.SetFloat("detailOffsetY-" + key, detailOffset.y); + PlayerPrefs.SetInt("detail2ID-" + key, detail2ID); + PlayerPrefs.SetFloat("detail2OffsetX-" + key, detail2Offset.x); + PlayerPrefs.SetFloat("detail2OffsetY-" + key, detail2Offset.y); + } +} |