Files
BingoGrassland/Assets/BingoBrain/ModuleUI/SaveData.cs
T
2026-04-20 13:49:36 +08:00

176 lines
5.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System.Collections;
using System.Collections.Generic;
using System.IO;
using Newtonsoft.Json;
using UnityEngine;
namespace BingoBrain
{
public class SaveData
{
public static Saveobject saveobject;
public static Saveobject GetSaveobject()
{
if (saveobject == null)
{
if (File.Exists(jsonFilePath))
{
string jsonstr = File.ReadAllText(jsonFilePath);
saveobject = JsonConvert.DeserializeObject<Saveobject>(jsonstr);
return saveobject;
}
else
{
saveobject = new Saveobject();
return saveobject;
}
}
else return saveobject;
}
private static string jsonFilePath = Path.Combine(Application.persistentDataPath, "savedata22.json");
public static void saveDataFunc()
{
string save = JsonConvert.SerializeObject(saveobject);
if (File.Exists(jsonFilePath)) File.Delete(jsonFilePath);
File.WriteAllText(jsonFilePath, save);
}
public static bool battlepassred()
{
int pass_level = GameHelper.getBattleLv();
List<int> freelist = SaveData.GetSaveobject().battle_pass_freelist;
for (int i = 1; i <= ConfigSystem.GetConfig<PassportrewardsModel>().dataList.Count; i++)
{
if (pass_level >= i)
{
if (!freelist.Contains(i))
{
return true;
}
}
}
if (SaveData.GetSaveobject().is_get_battlepass)
{
List<int> paylist = SaveData.GetSaveobject().battle_pass_paylist;
for (int i = 1; i <= ConfigSystem.GetConfig<PassportrewardsModel>().dataList.Count; i++)
{
if (pass_level >= i)
{
if (!paylist.Contains(i))
{
return true;
}
}
}
}
return false;
}
public static bool passtaskred()
{
List<int> list = SaveData.GetSaveobject().pass_task_record;
for (int i = 0; i < ConfigSystem.GetConfig<PassingTaskModel>().dataList.Count; i++)
{
if (GameHelper.GetLevel() > ConfigSystem.GetConfig<PassingTaskModel>().dataList[i].tol_num)
{
if (!list.Contains(ConfigSystem.GetConfig<PassingTaskModel>().dataList[i].id)) return true;
}
}
return false;
}
public static bool timetaskred()
{
List<int> list = SaveData.GetSaveobject().time_task_record;
for (int i = 0; i < ConfigSystem.GetConfig<DurationtasksModel>().dataList.Count; i++)
{
if (GameHelper.GetGameTime() >= ConfigSystem.GetConfig<DurationtasksModel>().dataList[i].tol_num * 60)
{
if (!list.Contains(ConfigSystem.GetConfig<DurationtasksModel>().dataList[i].id)) return true;
}
}
return false;
}
public static bool getRed()
{
return battlepassred() || timetaskred() || passtaskred();
}
public static float pay_time = 0;
}
public class Saveobject
{
public bool is_get_battlepass = false;
public List<int> battle_pass_freelist = new List<int>();
public List<int> battle_pass_paylist = new List<int>();
public int _goldtime0;
public int _goldtime1;
public int _goldtime2;
public int _goldtime3;
public int _goldtime4;
public bool have_slot;
public int battle_pass_time;
public List<int> pass_task_record = new List<int>();
public List<int> time_task_record = new List<int>();
public int login_day;
public int login_hour;
public int cash_people;
public float cash_people_1;
public float cash_people_2;
public bool is_get_packreward;
public bool is_get_removead;
public bool is_autopack_show;
public int is_autopack_show_day;
public long start_time;
public int clear_number;
/// <summary>
/// 每一局使用道具数量([0]:out [1]:back [2]:refresh
/// </summary>
public int[] usePropsNum = new int[3];
/// <summary>
/// 卡牌层数
/// </summary>
public int card_layer;
/// <summary>
/// 卡牌总数量
/// </summary>
public int all_card_numbers;
public int this_time_cardtype;
public int look_ad_numbers;
public int look_ad_time;
public int[] dark_Dayref;
public int[] _goldtime;
public MaxPayClass max_pay_object;
public List<SaveingPotClass> saveingpot_history = new List<SaveingPotClass>();
public float saveingpot_cash;
public float last_saveingpot_cash;
public long failed_pack_time;
public int three_gift_got_index = 1;
public long last_got_three_gift_time = 0;
public bool is_get_ThreeDaysGift;
}
}