298 lines
9.4 KiB
C#
298 lines
9.4 KiB
C#
using System.Collections.Generic;
|
||
using System.IO;
|
||
using IgnoreOPS;
|
||
using SGModule.DataStorage;
|
||
using UnityEngine;
|
||
|
||
namespace ChillConnect
|
||
{
|
||
public class SaveData
|
||
{
|
||
private 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;
|
||
// }
|
||
|
||
_saveObject = DataManager.Instance.LoadData(DataKeys.SaveObject, new Saveobject());
|
||
}
|
||
|
||
|
||
return _saveObject;
|
||
}
|
||
|
||
private static RankData _rankdata;
|
||
public static RankData GetRankData()
|
||
{
|
||
if (_rankdata == null)
|
||
{
|
||
_rankdata = DataManager.Instance.LoadData(DataKeys.RankData, new RankData());
|
||
}
|
||
return _rankdata;
|
||
}
|
||
public static void SaveRankFunc(bool mustSave = false)
|
||
{
|
||
DataManager.Instance.SaveData(DataKeys.RankData, _rankdata);
|
||
}
|
||
private static string jsonFilePath = Path.Combine(Application.persistentDataPath, "SaveData1.json");
|
||
|
||
public static void saveDataFunc()
|
||
{
|
||
|
||
// string save = JsonConvert.SerializeObject(saveobject);
|
||
//
|
||
// if (File.Exists(jsonFilePath)) File.Delete(jsonFilePath);
|
||
// File.WriteAllText(jsonFilePath, save);
|
||
DataManager.Instance.SaveData(DataKeys.SaveObject, _saveObject);
|
||
|
||
}
|
||
public static bool battlepassred()
|
||
{
|
||
|
||
int pass_level = GameHelper.GetBattleLv();
|
||
List<int> freelist = 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 (GetSaveObject().is_get_battlepass)
|
||
{
|
||
List<int> paylist = 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 void AddAllLevelRewardsToLevelReward()
|
||
{
|
||
int maxLevel = GameHelper.GetLevel() / 10 * 10;
|
||
var passingTaskModel = ConfigSystem.GetConfig<PassingTaskModel>();
|
||
var saveObject = GetSaveObject();
|
||
|
||
foreach (var task in passingTaskModel.DataList)
|
||
{
|
||
if (task.tol_num < maxLevel && !saveObject.level_reward.Contains(task.tol_num))
|
||
{
|
||
saveObject.level_reward.Add(task.tol_num);
|
||
}
|
||
}
|
||
}
|
||
|
||
public static int getAllLevelAward()
|
||
{
|
||
int all_reward = 0;
|
||
int maxLevel = GameHelper.GetLevel() / 10 * 10;
|
||
foreach (var task in ConfigSystem.GetConfig<PassingTaskModel>().DataList)
|
||
{
|
||
// 检查当前任务的等级是否小于 maxLevel
|
||
if (task.tol_num < maxLevel && GameHelper.GetLevel() % 10 != 0)
|
||
{
|
||
if (!GetSaveObject().level_reward.Contains(task.tol_num))
|
||
{
|
||
all_reward += task.reward_num;
|
||
}
|
||
}
|
||
}
|
||
|
||
return all_reward;
|
||
}
|
||
|
||
|
||
public static int getLevelreward(int level)
|
||
{
|
||
int levelreward = 0;
|
||
foreach (var task in ConfigSystem.GetConfig<PassingTaskModel>().DataList)
|
||
{
|
||
if (GameHelper.GetLevel() > task.tol_num)
|
||
{
|
||
if (level == task.tol_num && !GetSaveObject().level_reward.Contains(level))
|
||
{
|
||
levelreward = task.reward_num;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
return levelreward;
|
||
}
|
||
|
||
public static bool passtaskred()
|
||
{
|
||
List<int> list = 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 = 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 AdTaskred()
|
||
{
|
||
List<int> list = GetSaveObject().ad_task_record;
|
||
|
||
for (int i = 0; i < ConfigSystem.GetConfig<ADTaskModel>().DataList.Count; i++)
|
||
{
|
||
if (DataMgr.VideoWatchCount.Value >= ConfigSystem.GetConfig<ADTaskModel>().DataList[i].tol_num)
|
||
{
|
||
if (!list.Contains(ConfigSystem.GetConfig<ADTaskModel>().DataList[i].id)) return true;
|
||
}
|
||
}
|
||
return false;
|
||
}
|
||
public static bool getRed()
|
||
{
|
||
|
||
return battlepassred();
|
||
}
|
||
public static float pay_time = 0;
|
||
public static float redeem_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[] _goldtime;
|
||
public List<int> gold_shop_time = new List<int>();
|
||
public bool have_slot;
|
||
public int battle_pass_time;
|
||
public int _watch_ad_cd;
|
||
|
||
public List<int> pass_task_record = new List<int>();
|
||
public List<int> time_task_record = new List<int>();
|
||
public List<int> ad_task_record = new List<int>();
|
||
public List<int> level_reward = new List<int>();
|
||
|
||
/// <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 login_day;
|
||
public int login_hour;
|
||
public int ch_people;
|
||
public float ch_people_1;
|
||
public float ch_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;
|
||
public int crush_egg_time;
|
||
|
||
public int this_time_cardtype;
|
||
|
||
public int[] dark_Dayref;
|
||
|
||
public ApplePayClass max_pay_object;
|
||
public List<SaveingPotClass> saveingpot_history = new List<SaveingPotClass>();
|
||
public float saveingpot_ch;
|
||
public float last_saveingpot_ch;
|
||
|
||
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;
|
||
public int addview_off_time;
|
||
public int game_fail_number;
|
||
public int game_fail_off_number;
|
||
|
||
public long lastLoginTime = 0;
|
||
public int remove_ad_time;
|
||
|
||
public bool IsGetFirstReward;
|
||
|
||
#region Game data
|
||
public int OutPropNum;
|
||
public int BackPropNum;
|
||
public int RefreshPropNum;
|
||
public int LevelNum = 1;
|
||
public int LevelState = 3;
|
||
public int GameDay = 0;
|
||
public int GameExp = 0;
|
||
public int ChLv = 0;
|
||
public int ExchangeModeToggle = 1;
|
||
public int chout_lv;
|
||
public int TurnOffNumbers;
|
||
public int TurnOffDay;
|
||
public long TurnOffTime;
|
||
public int LargeRewardNum;
|
||
public int InterstitialPLayNum;
|
||
public int GameTime;
|
||
|
||
public long first_login_time = 0;
|
||
public int[] TodayOpenNum = new int[2] { 0, 0 };
|
||
|
||
public int ExchangeProcessMode = -1;
|
||
public int CHProcessMode = -1;
|
||
#endregion
|
||
}
|
||
public class RankData
|
||
{
|
||
public List<UserData> users = new List<UserData>();
|
||
public UserData selfUser = new UserData();
|
||
public List<RankRewardData> rankRewardData = new List<RankRewardData>();
|
||
}
|
||
}
|