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

206 lines
6.7 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);
2026-05-13 15:43:54 +08:00
Debug.Log("saveobject.uid" + saveobject.uid);
Debug.Log("login.uid" + GameHelper.GetLoginModel().uid);
if (saveobject.uid != GameHelper.GetLoginModel().uid && GameHelper.GetLoginModel().uid != 0)
{
saveobject = new Saveobject();
saveobject.uid = GameHelper.GetLoginModel().uid;
}
2026-04-20 13:49:36 +08:00
return saveobject;
}
else
{
saveobject = new Saveobject();
2026-05-13 15:43:54 +08:00
saveobject.uid = GameHelper.GetLoginModel().uid;
2026-04-20 13:49:36 +08:00
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
{
2026-05-13 15:43:54 +08:00
public long uid;
2026-04-20 13:49:36 +08:00
public bool is_get_battlepass = false;
public List<int> battle_pass_freelist = new List<int>();
public List<int> battle_pass_paylist = new List<int>();
2026-05-19 18:13:35 +08:00
// public int _goldtime0;
// public int _goldtime1;
// public int _goldtime2;
// public int _goldtime3;
// public int _goldtime4;
// public bool have_slot;
// public int battle_pass_time;
2026-04-20 13:49:36 +08:00
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;
2026-05-19 18:13:35 +08:00
// public int cash_people;
// public float cash_people_1;
// public float cash_people_2;
2026-04-20 13:49:36 +08:00
2026-05-19 18:13:35 +08:00
// public bool is_get_packreward;
2026-04-20 13:49:36 +08:00
public bool is_get_removead;
2026-05-19 18:13:35 +08:00
// 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;
2026-04-20 13:49:36 +08:00
public int look_ad_numbers;
2026-05-19 18:13:35 +08:00
// public int look_ad_time;
2026-05-28 10:50:42 +08:00
public List<int> dark_Dayref;
2026-05-19 18:13:35 +08:00
// 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
2026-05-19 18:13:35 +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-05-09 18:00:33 +08:00
public int PettyState;
public string PettyAccount;
public string PettyFirstName;
public string PettyLastName;
public int PettyAmount;
public string PettyOrderID;
public string PettyDateTime;
public int PettyDataLimit;
2026-04-20 13:49:36 +08:00
}
}