using System.Collections; using System.Collections.Generic; using System.IO; using Castle.Core.Internal; 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(jsonstr); 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; } return saveobject; } else { saveobject = new Saveobject(); saveobject.uid = GameHelper.GetLoginModel().uid; return saveobject; } } else return saveobject; } private static string jsonFilePath = Path.Combine(Application.persistentDataPath, "savedata22.json"); public static void saveDataFunc() { if (saveobject == null) return; string save = JsonConvert.SerializeObject(saveobject); if (save.IsNullOrEmpty()) return; if (save == null || save == "") return; if (File.Exists(jsonFilePath)) File.Delete(jsonFilePath); File.WriteAllText(jsonFilePath, save); } public static bool battlepassred() { int pass_level = GameHelper.getBattleLv(); List freelist = SaveData.GetSaveobject().battle_pass_freelist; for (int i = 1; i <= ConfigSystem.GetConfig().dataList.Count; i++) { if (pass_level >= i) { if (!freelist.Contains(i)) { return true; } } } if (SaveData.GetSaveobject().is_get_battlepass) { List paylist = SaveData.GetSaveobject().battle_pass_paylist; for (int i = 1; i <= ConfigSystem.GetConfig().dataList.Count; i++) { if (pass_level >= i) { if (!paylist.Contains(i)) { return true; } } } } return false; } public static bool passtaskred() { List list = SaveData.GetSaveobject().pass_task_record; for (int i = 0; i < ConfigSystem.GetConfig().dataList.Count; i++) { if (GameHelper.GetLevel() > ConfigSystem.GetConfig().dataList[i].tol_num) { if (!list.Contains(ConfigSystem.GetConfig().dataList[i].id)) return true; } } return false; } public static bool timetaskred() { List list = SaveData.GetSaveobject().time_task_record; for (int i = 0; i < ConfigSystem.GetConfig().dataList.Count; i++) { if (GameHelper.GetGameTime() >= ConfigSystem.GetConfig().dataList[i].tol_num * 60) { if (!list.Contains(ConfigSystem.GetConfig().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 long uid; public bool is_get_battlepass = false; public List battle_pass_freelist = new List(); public List battle_pass_paylist = new List(); // 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 pass_task_record = new List(); public List time_task_record = new List(); 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; // /// // /// 每一局使用道具数量([0]:out [1]:back [2]:refresh) // /// // public int[] usePropsNum = new int[3]; // /// // /// 卡牌层数 // /// // public int card_layer; // /// // /// 卡牌总数量 // /// // public int all_card_numbers; // public int this_time_cardtype; public int look_ad_numbers; // public int look_ad_time; public List dark_Dayref; // public int[] _goldtime; // public MaxPayClass max_pay_object; public List saveingpot_history = new List(); // 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; //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; public int PettyState; public string PettyAccount; public string PettyFirstName; public string PettyLastName; public int PettyAmount; public string PettyOrderID; public string PettyDateTime; public int PettyDataLimit; } }