218 lines
6.6 KiB
C#
218 lines
6.6 KiB
C#
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.IO;
|
|||
|
using System.Runtime.CompilerServices;
|
|||
|
using System.Threading;
|
|||
|
using System.Xml.Serialization;
|
|||
|
using LitJson;
|
|||
|
using UnityEngine;
|
|||
|
using UnityEngine.Networking;
|
|||
|
|
|||
|
public class GameDataMgr:SingletonAutoMono<GameDataMgr>
|
|||
|
{
|
|||
|
//<2F><>̬<EFBFBD><CCAC><EFBFBD><EFBFBD> <20><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥnew
|
|||
|
private RegisterData registerData;
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>ܻ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
public RegisterData RegisterData => registerData;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
public PlayerData player;
|
|||
|
//<2F><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>е<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
|
|||
|
public UserEquipInfo userEquip;
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7>Ϣ
|
|||
|
public UserGoodsInfo userGoods;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3>̶<EFBFBD><CCB6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
private List<MonsterData> monster;
|
|||
|
public List<MonsterData> monsters => monster;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լӳɣ<D3B3><C9A3>̶<EFBFBD><CCB6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
private List<UserUpgradeData> userUpGrade;
|
|||
|
public List<UserUpgradeData> userUpGradeInfo => userUpGrade;
|
|||
|
|
|||
|
//װ<><D7B0><EFBFBD><EFBFBD><EFBFBD>Լӳɣ<D3B3><C9A3>̶<EFBFBD><CCB6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
private List<EquipData> equipData;
|
|||
|
public List<EquipData> equipInfo => equipData;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ
|
|||
|
private List<GoodsData> goodsData;
|
|||
|
public List<GoodsData> goods => goodsData;
|
|||
|
|
|||
|
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>һֻ
|
|||
|
public MonsterData nowMonster;
|
|||
|
|
|||
|
//public void Init()
|
|||
|
//{
|
|||
|
// //<2F><>ȡע<C8A1><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// registerData = JsonMgr.Instance.LoadData<RegisterData>("RegisterData");
|
|||
|
// //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// monster = JsonMgr.Instance.LoadData<List<MonsterData>>("MonsterInfo");
|
|||
|
// //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լӳ<D4BC>
|
|||
|
// userUpGrade = JsonMgr.Instance.LoadData<List<UserUpgradeData>>("UserUpgradeInfo");
|
|||
|
// //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD>Լӳ<D4BC>
|
|||
|
// equipData = JsonMgr.Instance.LoadData<List<EquipData>>("EquipInfo");
|
|||
|
// //<2F><>ȡ<EFBFBD><C8A1>Ʒ<EFBFBD><C6B7>Ϣ
|
|||
|
// goodsData = JsonMgr.Instance.LoadData<List<GoodsData>>("GoodsInfo");
|
|||
|
// nowMonster = monsters[0];
|
|||
|
//}
|
|||
|
public void Init()
|
|||
|
{
|
|||
|
//<2F><>ȡע<C8A1><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
registerData = JsonMgr.Instance.LoadData<RegisterData>("RegisterData");
|
|||
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
StartCoroutine(DataInit<List<MonsterData>>("MonsterInfo"));
|
|||
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լӳ<D4BC>
|
|||
|
StartCoroutine(DataInit<List<UserUpgradeData>>("UserUpgradeInfo"));
|
|||
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD>Լӳ<D4BC>
|
|||
|
StartCoroutine(DataInit<List<EquipData>>( "EquipInfo"));
|
|||
|
//<2F><>ȡ<EFBFBD><C8A1>Ʒ<EFBFBD><C6B7>Ϣ
|
|||
|
StartCoroutine(DataInit<List<GoodsData>>("GoodsInfo"));
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private IEnumerator DataInit<T>(string name)
|
|||
|
{
|
|||
|
string path = Application.streamingAssetsPath + "/" + name + ".json";
|
|||
|
|
|||
|
// <20><>ƽ̨<C6BD><CCA8>Ҫ<EFBFBD><D2AA>UnityWebRequest
|
|||
|
UnityWebRequest req = UnityWebRequest.Get(path);
|
|||
|
yield return req.SendWebRequest();
|
|||
|
|
|||
|
if (req.result == UnityWebRequest.Result.Success)
|
|||
|
{
|
|||
|
string jsonStr = req.downloadHandler.text;
|
|||
|
T data = JsonMapper.ToObject<T>(jsonStr);
|
|||
|
Debug.Log("<22><>ȡ<EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>" + jsonStr);
|
|||
|
|
|||
|
if (data is List<MonsterData>)
|
|||
|
{
|
|||
|
monster = data as List<MonsterData>;
|
|||
|
|
|||
|
nowMonster = monster[0];
|
|||
|
}
|
|||
|
|
|||
|
if (data is List<UserUpgradeData>)
|
|||
|
{
|
|||
|
userUpGrade = data as List<UserUpgradeData>;
|
|||
|
}
|
|||
|
|
|||
|
if (data is List<EquipData>)
|
|||
|
{
|
|||
|
equipData = data as List<EquipData>;
|
|||
|
}
|
|||
|
|
|||
|
if (data is List<GoodsData>)
|
|||
|
{
|
|||
|
goodsData = data as List<GoodsData>;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
Debug.LogError("<22><>ȡʧ<C8A1>ܣ<EFBFBD>" + req.error+path);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
public void PlayerDataLoad(string txtUser)
|
|||
|
{
|
|||
|
player = JsonMgr.Instance.LoadData<PlayerData>(txtUser);
|
|||
|
|
|||
|
userEquip = JsonMgr.Instance.LoadData<UserEquipInfo>(txtUser + "equip");
|
|||
|
|
|||
|
userGoods = JsonMgr.Instance.LoadData<UserGoodsInfo>(txtUser + "goods");
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="txtUser"></param>
|
|||
|
public void PlayerDataSave()
|
|||
|
{
|
|||
|
JsonMgr.Instance.SaveData(player,player.txtUser);
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="txtUser"></param>
|
|||
|
public void EquipDataSave()
|
|||
|
{
|
|||
|
JsonMgr.Instance.SaveData(userEquip, player.txtUser+ "equip");
|
|||
|
}
|
|||
|
|
|||
|
#region ע<EFBFBD><EFBFBD>
|
|||
|
|
|||
|
//<2F>洢ע<E6B4A2><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
public void SavaRegisterData()
|
|||
|
{
|
|||
|
JsonMgr.Instance.SaveData(registerData, "RegisterData");
|
|||
|
}
|
|||
|
|
|||
|
//ע<>᷽<EFBFBD><E1B7BD>
|
|||
|
public int RegisterUser(string userName, string passWord, string gameName)
|
|||
|
{
|
|||
|
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
|||
|
if (registerData.registerInfo.ContainsKey(userName))
|
|||
|
{
|
|||
|
return 1;
|
|||
|
}
|
|||
|
//<2F>жϽ<D0B6>ɫ<EFBFBD><C9AB><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (registerData.registerInfo.ContainsKey(gameName))
|
|||
|
{
|
|||
|
return 2;
|
|||
|
}
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ֤<><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
|||
|
//<2F>洢<EFBFBD><E6B4A2><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>洢<EFBFBD><E6B4A2>ɫ<EFBFBD><C9AB>
|
|||
|
registerData.registerInfo.Add(userName, passWord);
|
|||
|
registerData.registerInfo.Add(gameName, passWord);
|
|||
|
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD>
|
|||
|
PlayerData newPlayer = new PlayerData();
|
|||
|
newPlayer.name = gameName;
|
|||
|
newPlayer.txtUser = userName;
|
|||
|
JsonMgr.Instance.SaveData(newPlayer, userName);
|
|||
|
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD>
|
|||
|
UserEquipInfo newEquipInfo=new UserEquipInfo();
|
|||
|
newEquipInfo.itemEquip.Add(equipData[0]);
|
|||
|
newEquipInfo.itemEquip.Add(equipData[1]);
|
|||
|
newEquipInfo.itemEquip.Add(equipData[2]);
|
|||
|
newEquipInfo.itemEquip.Add(equipData[3]);
|
|||
|
newEquipInfo.itemEquip.Add(equipData[4]);
|
|||
|
newEquipInfo.itemEquip.Add(equipData[5]);
|
|||
|
newEquipInfo.itemEquip.Add(equipData[6]);
|
|||
|
newEquipInfo.itemEquip.Add(equipData[7]);
|
|||
|
newEquipInfo.itemEquip.Add(equipData[8]);
|
|||
|
JsonMgr.Instance.SaveData(newEquipInfo, userName+"equip");
|
|||
|
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>Ʒ<EFBFBD><C6B7>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><E6B1BE>
|
|||
|
UserGoodsInfo newGoodsInfo = new UserGoodsInfo();
|
|||
|
newGoodsInfo.goods.Add(goodsData[0]);
|
|||
|
newGoodsInfo.goods[0].num = 1888;
|
|||
|
newGoodsInfo.goods.Add(goodsData[1]);
|
|||
|
newGoodsInfo.goods[1].num = 9999;
|
|||
|
JsonMgr.Instance.SaveData(newGoodsInfo, userName + "goods");
|
|||
|
//<2F><><EFBFBD>ش洢
|
|||
|
SavaRegisterData();
|
|||
|
//ע<><D7A2><EFBFBD>ɹ<EFBFBD>
|
|||
|
return 3;
|
|||
|
}
|
|||
|
|
|||
|
//<2F><>֤<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>Ϸ<EFBFBD>
|
|||
|
public bool CheckInfo(string userName, string passWord)
|
|||
|
{
|
|||
|
if (registerData.registerInfo.ContainsKey(userName))
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ ֤<><D6A4> <20><>¼<EFBFBD>ɹ<EFBFBD>
|
|||
|
if (registerData.registerInfo[userName] == passWord)
|
|||
|
{
|
|||
|
return true;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>벻<EFBFBD>Ϸ<EFBFBD>
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
}
|