OvertakingLegend/Assets/Script/UserData/UserDataMar.cs

311 lines
6.9 KiB
C#
Raw Normal View History

2025-03-24 03:08:22 +00:00
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);
}
}