- 最后登录
- 2021-7-6
- 注册时间
- 2012-12-27
- 阅读权限
- 90
- 积分
- 76145
- 纳金币
- 53448
- 精华
- 316
|
发表于 2018-8-16 01:04:22
|显示全部楼层
- using UnityEngine;
- public static class SaveManager : object
- {
- public static int diamondAmmound = 100; //钻石数量
- public static int bestDistance; //最远的距离
- public static string rankTime; //排行榜的时间
- public static int SkinID = 1; //当前的圆圈皮肤(0是默认皮肤)
- public static int audioEnable = 1; //音效激活
- public static int selectLineID = 1; //当前选择线的ID; 1为默认
- public static int Numberofgames; //游戏次数
- public static int Numberofskins=1; //皮肤数量
- public static int NumberofLevels; //关卡通过数量
- //圈拥有
- public static int[] circle =new int[16] { 0,1,1,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
- //关卡
- public static int[] levelUnlock = new int[20] { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- /// <summary>
- /// 加载玩家数据
- /// </summary>
- public static void LoadData()
- {
- if (!PlayerPrefs.HasKey("Diamond ammound"))
- SaveData();
- else
- {
- diamondAmmound = PlayerPrefs.GetInt("Diamond ammound");
- bestDistance = PlayerPrefs.GetInt("Best Distance");
- audioEnable = PlayerPrefs.GetInt("AudioEnabled");
- SkinID = PlayerPrefs.GetInt("Skin ID");
- rankTime = PlayerPrefs.GetString("RankTime");
- selectLineID = PlayerPrefs.GetInt("SelectLineId");
- Numberofgames = PlayerPrefs.GetInt("Numberofgames");
- Numberofskins = PlayerPrefs.GetInt("Numberofskins");
- NumberofLevels = PlayerPrefs.GetInt("NumberofLevels");
- circle = new int[16]
- {
- PlayerPrefs.GetInt("skin1"),
- PlayerPrefs.GetInt("skin2"),
- PlayerPrefs.GetInt("skin3"),
- PlayerPrefs.GetInt("skin4"),
- PlayerPrefs.GetInt("skin5"),
- PlayerPrefs.GetInt("skin6"),
- PlayerPrefs.GetInt("skin7"),
- PlayerPrefs.GetInt("skin8"),
- PlayerPrefs.GetInt("skin9"),
- PlayerPrefs.GetInt("skin10"),
- PlayerPrefs.GetInt("skin11"),
- PlayerPrefs.GetInt("skin12"),
- PlayerPrefs.GetInt("skin13"),
- PlayerPrefs.GetInt("skin14"),
- PlayerPrefs.GetInt("skin15"),
- PlayerPrefs.GetInt("skin16"),
- };
- levelUnlock = GetArray("level", 20);
- }
- }
- /// <summary>
- /// 保存玩家数据
- /// </summary>
- public static void SaveData()
- {
- //金币数量
- PlayerPrefs.SetInt("Diamond ammound", diamondAmmound);
- //排行榜时间
- PlayerPrefs.SetString("RankTime", rankTime);
- //最远的距离
- if (PlayerPrefs.GetInt("Best Distance") < bestDistance)
- {
- PlayerPrefs.SetInt("Best Distance", bestDistance);
- PlayerPrefs.SetString("RankTime", rankTime);
- }
-
- //保存当前的皮肤
- PlayerPrefs.SetInt("Skin ID", SkinID);
- //保存声音
- PlayerPrefs.SetInt("AudioEnabled", audioEnable);
- //游戏次数
- PlayerPrefs.SetInt("Numberofgames", Numberofgames);
- //皮肤数量
- PlayerPrefs.SetInt("Numberofskins", Numberofskins);
- //关卡通关数
- PlayerPrefs.SetInt("NumberofLevels", NumberofLevels);
- //选择线的id
- PlayerPrefs.SetInt("SelectLineId", selectLineID);
- //保存购买皮肤的数组
- PlayerPrefs.SetInt("skin1", circle[0]);
- PlayerPrefs.SetInt("skin2", circle[1]);
- PlayerPrefs.SetInt("skin3", circle[2]);
- PlayerPrefs.SetInt("skin4", circle[3]);
- PlayerPrefs.SetInt("skin5", circle[4]);
- PlayerPrefs.SetInt("skin6", circle[5]);
- PlayerPrefs.SetInt("skin7", circle[6]);
- PlayerPrefs.SetInt("skin8", circle[7]);
- PlayerPrefs.SetInt("skin9", circle[8]);
- PlayerPrefs.SetInt("skin10", circle[9]);
- PlayerPrefs.SetInt("skin11", circle[10]);
- PlayerPrefs.SetInt("skin12", circle[11]);
- PlayerPrefs.SetInt("skin13", circle[12]);
- PlayerPrefs.SetInt("skin14", circle[13]);
- PlayerPrefs.SetInt("skin15", circle[14]);
- PlayerPrefs.SetInt("skin16", circle[15]);
- //保存关卡的数组
- CreateArray("level", 20);
- PlayerPrefs.Save();
- }
-
- //创建的数组
- public static void CreateArray(string name,int length)
- {
- for (int i = 0; i < length; i++)
- {
- PlayerPrefs.SetInt(name + i, levelUnlock[i]);
- }
- }
- //获取保存数组
- public static int[] GetArray(string name,int length)
- {
- int[] array=new int[length];
- for (int i = 0; i < array.Length; i++)
- {
- array[i] = PlayerPrefs.GetInt(name+i);
- }
- return array;
- }
- }
复制代码 来自:UnityTerminator |
|