using System; using System.Collections.Generic; using System.Linq; using System.Text; using UnityEngine; public class SettingMgr : Singleton { 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; } /// /// 得到bool型设置的value值 /// /// /// 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; } /// /// 得到int型设置的value值 /// /// /// 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; } /// /// 得到float型设置的value值 /// /// /// 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; } }