311 lines
6.9 KiB
C#
311 lines
6.9 KiB
C#
|
|
using Config.config;
|
|||
|
|
using System;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
public class UserDataManager : SingletonManager<UserDataManager>
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
public UserData userData;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><>ʼ<EFBFBD><CABC>
|
|||
|
|
/// </summary>
|
|||
|
|
public void Init()
|
|||
|
|
{
|
|||
|
|
if (ES3.KeyExists("GameData"))
|
|||
|
|
{
|
|||
|
|
userData = ES3.Load("GameData") as UserData;
|
|||
|
|
if (!userData.guidance.isOverInitialEntry)
|
|||
|
|
{
|
|||
|
|
userData.gameNumber = 0;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
userData = new UserData();
|
|||
|
|
userData.level = 0;
|
|||
|
|
userData.useCar = "Car_1";
|
|||
|
|
userData.skillId = "Skill_1";
|
|||
|
|
AddCar("Car_1");
|
|||
|
|
AddSkill("Skill_1");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20>ӽ<EFBFBD><D3BD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
public void AddMoney(int value)
|
|||
|
|
{
|
|||
|
|
userData.money += value;
|
|||
|
|
SaveUserData();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20>ӹؿ<D3B9>
|
|||
|
|
/// </summary>
|
|||
|
|
public void AddLevel()
|
|||
|
|
{
|
|||
|
|
userData.level++;
|
|||
|
|
SaveUserData();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD>ӹؿ<D3B9><D8BF><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
public void AddGameNumber()
|
|||
|
|
{
|
|||
|
|
userData.gameNumber++;
|
|||
|
|
SaveUserData();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
/// </summary>
|
|||
|
|
public void SetIsFreeSpeedbreaker()
|
|||
|
|
{
|
|||
|
|
if (userData.isFreeSpeedbreaker) return;
|
|||
|
|
userData.isFreeSpeedbreaker = true;
|
|||
|
|
SaveUserData();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
public void SetIsRandomSkill()
|
|||
|
|
{
|
|||
|
|
if (userData.isRandomSkill) return;
|
|||
|
|
userData.isRandomSkill = true;
|
|||
|
|
SaveUserData();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="value"></param>
|
|||
|
|
public bool RemoveMoney(int value)
|
|||
|
|
{
|
|||
|
|
bool isEnough = false;
|
|||
|
|
if (userData.money >= value)
|
|||
|
|
{
|
|||
|
|
userData.money -= value;
|
|||
|
|
Scenes.Instance.GoldCoin();
|
|||
|
|
isEnough = true;
|
|||
|
|
}
|
|||
|
|
return isEnough;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
public float GetBoostEnergy()
|
|||
|
|
{
|
|||
|
|
return ConfigManager.Instance.Tables.TbSkillConfig.Get(userData.skillId).BoostEnergy;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20>õ<EFBFBD><C3B5>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
public float GetEnergesis()
|
|||
|
|
{
|
|||
|
|
return ConfigManager.Instance.Tables.TbSkillConfig.Get(userData.skillId).Energesis;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
/// </summary>
|
|||
|
|
private float GetTimeOfDuration(string skillId)
|
|||
|
|
{
|
|||
|
|
return ConfigManager.Instance.Tables.TbSkillConfig.Get(skillId).TimeOfDuration;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>м<EFBFBD><D0BC>ܳ<EFBFBD><DCB3><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public float GetAlreadyHaveTimeOfDuration(string skillId)
|
|||
|
|
{
|
|||
|
|
if (userData.skillData.ContainsKey(skillId))
|
|||
|
|
{
|
|||
|
|
return userData.skillData[skillId].timeOfDuration;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
return GetTimeOfDuration(skillId);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>漼<EFBFBD><E6BCBC>
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public bool IsTrySkill()
|
|||
|
|
{
|
|||
|
|
if (userData.skillData.ContainsKey(userData.skillId))
|
|||
|
|
{
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
/// </summary>
|
|||
|
|
public void SetAdTime()
|
|||
|
|
{
|
|||
|
|
userData.aDDateTime = DateTime.Now;
|
|||
|
|
SaveUserData();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD>ӳ<EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="id"></param>
|
|||
|
|
public void AddCar(string id)
|
|||
|
|
{
|
|||
|
|
if (!userData.cars.Contains(id))
|
|||
|
|
{
|
|||
|
|
userData.cars.Add(id);
|
|||
|
|
SaveUserData();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õij<C3B5>
|
|||
|
|
/// </summary>
|
|||
|
|
public void SetUseCar(string id)
|
|||
|
|
{
|
|||
|
|
userData.useCar = id;
|
|||
|
|
SaveUserData();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>ü<EFBFBD><C3BC><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
public void SetSkillId(string id)
|
|||
|
|
{
|
|||
|
|
userData.skillId = id;
|
|||
|
|
SaveUserData();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
public void TrySkillOver()
|
|||
|
|
{
|
|||
|
|
if(!userData.skillData.ContainsKey(userData.skillId))
|
|||
|
|
{
|
|||
|
|
SetSkillId("Skill_1");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="id"></param>
|
|||
|
|
public void AddCarAD(string id)
|
|||
|
|
{
|
|||
|
|
if (userData.carAD.ContainsKey(id))
|
|||
|
|
{
|
|||
|
|
userData.carAD[id]++;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
userData.carAD.Add(id, 1);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD>Ӽ<EFBFBD><D3BC><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
public void AddSkill(string id)
|
|||
|
|
{
|
|||
|
|
SkillConfig skillConfig = ConfigManager.Instance.Tables.TbSkillConfig.Get(id);
|
|||
|
|
if (!userData.skillData.ContainsKey(id))
|
|||
|
|
{
|
|||
|
|
SkillData skillData = new SkillData();
|
|||
|
|
skillData.lv = 1;
|
|||
|
|
skillData.boostEnergy = skillConfig.BoostEnergy;
|
|||
|
|
skillData.timeOfDuration = skillConfig.TimeOfDuration;
|
|||
|
|
userData.skillData.Add(id, skillData);
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
userData.skillData[id].lv++;
|
|||
|
|
userData.skillData[id].boostEnergy += skillConfig.Energesis * (5 / 100);
|
|||
|
|
userData.skillData[id].timeOfDuration += 0.5f;
|
|||
|
|
}
|
|||
|
|
SaveUserData();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
public void AddTryOutSlill(string id)
|
|||
|
|
{
|
|||
|
|
if (!userData.tryOutSlill.Contains(id))
|
|||
|
|
{
|
|||
|
|
userData.tryOutSlill.Add(id);
|
|||
|
|
SaveUserData();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD>ü<EFBFBD><C3BC>ܹ<EFBFBD><DCB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
public void AddSlillUpgrade(string id)
|
|||
|
|
{
|
|||
|
|
if (!userData.skillUpgradeData.ContainsKey(id))
|
|||
|
|
{
|
|||
|
|
userData.skillUpgradeData.Add(id, 1);
|
|||
|
|
SaveUserData();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD>ü<EFBFBD><C3BC>ܹ<EFBFBD><DCB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
public void SetSlillUpgrade(string id)
|
|||
|
|
{
|
|||
|
|
userData.skillUpgradeData[id]++;
|
|||
|
|
SaveUserData();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
public int UpgradeMoney(string id)
|
|||
|
|
{
|
|||
|
|
return 7500 + (userData.skillData[id].lv - 1) * 5000;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>С
|
|||
|
|
/// </summary>
|
|||
|
|
public void SetBKMusicVolume(float value)
|
|||
|
|
{
|
|||
|
|
userData.soundSwitchData.bKMusicVolume = value;
|
|||
|
|
SaveUserData();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>С
|
|||
|
|
/// </summary>
|
|||
|
|
public void SetSEVolume(float value)
|
|||
|
|
{
|
|||
|
|
userData.soundSwitchData.sEVolume = value;
|
|||
|
|
SaveUserData();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
public void SaveUserData()
|
|||
|
|
{
|
|||
|
|
ES3.Save("GameData", userData);
|
|||
|
|
}
|
|||
|
|
}
|