using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using UnityEngine;
|
|
|
public class SettingMgr : Singleton<SettingMgr>
|
|
{
|
|
public string accountKey = "";
|
public StringBuilder accountSetStr = new StringBuilder();
|
|
public Action LocalSaveOpenEvent;
|
|
public void SetIsRecordData(string key,bool isClear = false)
|
{
|
if (isClear)
|
{
|
LocalSave.DeleteAll();
|
}
|
|
accountKey = key;
|
|
if (!PlayerPrefs.HasKey(key))
|
{
|
// #region 初始化挂机设置
|
// HangUpSetModel.Instance.SetHpSet(60);
|
// HangUpSetModel.Instance.SetBoolSetStr(HangUpAutoBoolType.curFixedScreen,true);
|
// HangUpSetModel.Instance.SetBoolSetStr(HangUpAutoBoolType.curFollowScreen,false);
|
// HangUpSetModel.Instance.SetBoolSetStr(HangUpAutoBoolType.whiteEquip, true);
|
// HangUpSetModel.Instance.SetBoolSetStr(HangUpAutoBoolType.purpleEquip, true);
|
// HangUpSetModel.Instance.SetBoolSetStr(HangUpAutoBoolType.gem, true);
|
// HangUpSetModel.Instance.SetBoolSetStr(HangUpAutoBoolType.drug, true);
|
// HangUpSetModel.Instance.SetBoolSetStr(HangUpAutoBoolType.necklaces, true);
|
// HangUpSetModel.Instance.SetBoolSetStr(HangUpAutoBoolType.coins, true);
|
// HangUpSetModel.Instance.SetBoolSetStr(HangUpAutoBoolType.other, true);
|
// HangUpSetModel.Instance.SetBoolSetStr(HangUpAutoBoolType.isAutoDrop, true);
|
// HangUpSetModel.Instance.SetBoolSetStr(HangUpAutoBoolType.isAutoHangUp,true);
|
// HangUpSetModel.Instance.SetBoolSetStr(HangUpAutoBoolType.isAutoBuyDrug, true);
|
// HangUpSetModel.Instance.SetBoolSetStr(HangUpAutoBoolType.isAutoSell, true);
|
// HangUpSetModel.Instance.SetBoolSetStr(HangUpAutoBoolType.isAutoDevour, true);
|
// HangUpSetModel.Instance.SetBoolSetStr(HangUpAutoBoolType.isAutoReborn, false);
|
// #endregion
|
|
#region 初始化系统设置
|
SystemSetting.Instance.SetSystemSettingSwitch(SystemSwitch.OtherPlayer, false);
|
SystemSetting.Instance.SetSystemSettingSwitch(SystemSwitch.HideMonster, false);
|
#endregion
|
|
// #region 初始化聊天设置
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.ChannelSystem, false);
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.ChannelWorld, true);
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.ChannelATeam, true);
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.ChannelTeam, true);
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.ChannelBugle, true);
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.ChannelGrad, true);
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.ChannelArea, true);
|
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.Voice1, true);
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.Voice2, false);
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.Voice3, false);
|
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.GradVoiceWifi, true);
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.PrivateChatVoiceWifi, true);
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.TeamVoiceWifi, true);
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.WorldVoiceWifi, false);
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.AreaVoiceWifi, false);
|
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.GradVoice4G, false);
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.PrivatChatVoice4G, true);
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.TeamVoice4G, false);
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.WorldVoice4G, false);
|
// ChatSetting.Instance.SetBoolSetStr(ChatBoolType.AreaVoice4G, false);
|
// #endregion
|
}
|
|
// HangUpSetModel.Instance.GetLoginHpSet();
|
// HangUpSetModel.Instance.GetLoginBoolSet();
|
// ChatSetting.Instance.GetLoginBoolSet();
|
|
if (LocalSaveOpenEvent != null)
|
LocalSaveOpenEvent();
|
}
|
|
public void SetAccountSetStr(string key,string value)
|
{
|
accountSetStr.Length = 0;
|
if (!IsHaveKey(key,value))
|
{
|
accountSetStr.Append(key + "_" + value + "|");
|
LocalSave.SetString(accountKey, accountSetStr.ToString());
|
}
|
else
|
{
|
LocalSave.SetString(accountKey, accountSetStr.ToString());
|
}
|
|
}
|
|
private string[] infoKeyValue;
|
private string[] setInfos;
|
public bool IsHaveKey(string key,string value)
|
{
|
infoKeyValue = null;
|
setInfos = null;
|
accountSetStr.Append(LocalSave.GetString(accountKey));
|
setInfos = LocalSave.GetString(accountKey).Split('|');
|
int length = setInfos.Length;
|
int i = 0;
|
for (i = 0; i < length; i++)
|
{
|
if (setInfos[i].Length > 0)
|
{
|
infoKeyValue = setInfos[i].Split('_');
|
if (infoKeyValue[0] == key)
|
{
|
string s = infoKeyValue[0] + "_" + value;
|
accountSetStr = accountSetStr.Replace(setInfos[i], s);
|
return true;
|
}
|
}
|
}
|
return false;
|
}
|
|
/// <summary>
|
/// 得到bool型设置的value值
|
/// </summary>
|
/// <param name="key"></param>
|
/// <returns></returns>
|
public bool GetAccountSetBoolInfo(string key)
|
{
|
setInfos = null;
|
setInfos = LocalSave.GetString(accountKey).Split('|');
|
|
int length = setInfos.Length;
|
int i = 0;
|
for (i = 0; i < length; i++)
|
{
|
if (setInfos[i].Length > 0)
|
{
|
infoKeyValue = setInfos[i].Split('_');
|
if (infoKeyValue[0] == key)
|
{
|
bool value;
|
bool result = bool.TryParse(infoKeyValue[1].Trim(),out value);
|
if(result)
|
{
|
return value;
|
}
|
}
|
}
|
}
|
return false;
|
}
|
|
/// <summary>
|
/// 得到int型设置的value值
|
/// </summary>
|
/// <param name="key"></param>
|
/// <returns></returns>
|
public int GetAccountSetIntInfo(string key)
|
{
|
setInfos = null;
|
setInfos = LocalSave.GetString(accountKey).Split('|');
|
int length = setInfos.Length;
|
int i = 0;
|
for (i = 0; i < length; i++)
|
{
|
if (setInfos[i].Length > 0)
|
{
|
infoKeyValue = setInfos[i].Split('_');
|
if (infoKeyValue[0] == key)
|
{
|
int value = 0;
|
bool isChange = int.TryParse(infoKeyValue[1],out value);
|
if(isChange)
|
{
|
return value;
|
}
|
else
|
{
|
return -1;
|
}
|
}
|
}
|
}
|
return -1;
|
}
|
|
/// <summary>
|
/// 得到float型设置的value值
|
/// </summary>
|
/// <param name="key"></param>
|
/// <returns></returns>
|
|
public float GetAccountSetFloatInfo(string key,float _default=0f)
|
{
|
if (string.IsNullOrEmpty(accountKey)) return _default;
|
|
setInfos = null;
|
setInfos = LocalSave.GetString(accountKey).Split('|');
|
int length = setInfos.Length;
|
int i = 0;
|
for (i = 0; i < length; i++)
|
{
|
if (setInfos[i].Length > 0)
|
{
|
infoKeyValue = setInfos[i].Split('_');
|
if (infoKeyValue[0] == key)
|
{
|
float value = 0;
|
bool isChange = float.TryParse(infoKeyValue[1], out value);
|
if (isChange)
|
{
|
return value;
|
}
|
else
|
{
|
return (float)_default;
|
}
|
}
|
}
|
}
|
return (float)_default;
|
}
|
|
}
|