using BestHTTP;
using EasyInject.Attributes;
using Newtonsoft.Json;
using System.Collections.Generic;
using UnityEngine;
///
/// 后台系统 属性设置器
///
[Component]
public class BackendSystemSetting : ISetting
{
private NetWorkComponent netWork;
private Dictionary _settingMap = new Dictionary();
public string Code => "SYSTEM";
public bool inited = false;
public T Read(string setItem)
{
object data = default;
if (_settingMap.TryGetValue(setItem,out data))
{
return (T)data;
}
return (T)data;
}
public bool Save(string setItem, T value)
{
if(!_settingMap.ContainsKey(setItem))
{
_settingMap.Add(setItem, value);
netWork.RemoteSaveData(Code, JsonConvert.SerializeObject(_settingMap));
return true;
}
object data = default;
if(_settingMap.TryGetValue(setItem,out data))
{
data = value;
netWork.RemoteSaveData(Code, JsonConvert.SerializeObject(_settingMap));
return true;
}
else
{
return false;
}
}
public void Remove(string setItem)
{
_settingMap.Remove(setItem);
netWork.RemoteSaveData(Code, JsonConvert.SerializeObject(_settingMap));
}
}