Files
BingoGrassland/Assets/BingoBrain/ModuleUI/SaveData.cs
T

188 lines
5.8 KiB
C#
Raw Normal View History

2026-04-20 13:49:36 +08:00
using System.Collections;
using System.Collections.Generic;
using System.IO;
2026-05-08 11:03:00 +08:00
using Castle.Core.Internal;
2026-04-20 13:49:36 +08:00
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()
{
2026-05-08 11:03:00 +08:00
if (saveobject == null) return;
2026-04-20 13:49:36 +08:00
string save = JsonConvert.SerializeObject(saveobject);
2026-05-08 11:03:00 +08:00
if (save.IsNullOrEmpty()) return;
if (save == null || save == "") return;
2026-04-20 13:49:36 +08:00
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;
2026-05-08 11:03:00 +08:00
// public MaxPayClass max_pay_object;
2026-04-20 13:49:36 +08:00
public List<SaveingPotClass> saveingpot_history = new List<SaveingPotClass>();
2026-05-08 11:03:00 +08:00
2026-04-20 13:49:36 +08:00
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;
2026-05-08 11:03:00 +08:00
//tixian
public int ExchangeProcessMode = -1;
public int CHProcessMode = -1;
public int chout_lv;
public int ch_people;
public float ch_people_1;
public float ch_people_2;
public int _watch_ad_cd;
public float saveingpot_ch;
public float last_saveingpot_ch;
public int ExchangeModeToggle = 1;
2026-04-20 13:49:36 +08:00
}
}