using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using LitJson;
|
|
|
namespace vnxbqy.UI
|
{
|
|
|
public class FuncSwitchModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
|
{
|
public override void Init()
|
{
|
ParseFuncSwitchConfig();
|
}
|
|
public void OnBeforePlayerDataInitialize()
|
{
|
|
}
|
|
public void OnPlayerLoginOk()
|
{
|
|
}
|
|
public override void UnInit()
|
{
|
|
}
|
|
public Dictionary<int, FuncSwithData> switchDataDict { get; private set;}
|
private void ParseFuncSwitchConfig()
|
{
|
switchDataDict = null;
|
var funcSwiths = FuncSwitchConfig.GetValues();
|
if (funcSwiths == null) return;
|
|
switchDataDict = new Dictionary<int, FuncSwithData>();
|
for (int i = 0; i < funcSwiths.Count; i++)
|
{
|
var switchData = new FuncSwithData(funcSwiths[i]);
|
switchDataDict.Add(switchData.Id,switchData);
|
}
|
}
|
|
public class FuncSwithData
|
{
|
public int Id { get; private set;}
|
public FuncSwitchConfig switchConfig { get; private set; }
|
public Dictionary<string, int> switchDict { get; private set; }
|
public FuncSwithData(FuncSwitchConfig _switchConfig)
|
{
|
Id = 0;
|
switchConfig = _switchConfig;
|
switchDict = null;
|
if (_switchConfig == null) return;
|
|
switchDict = new Dictionary<string, int>();
|
Id = _switchConfig.ID;
|
JsonData jsonData = JsonMapper.ToObject(_switchConfig.AppIdSwitch);
|
foreach(var appId in jsonData.Keys)
|
{
|
int open = 0;
|
int.TryParse(jsonData[appId].ToString(),out open);
|
switchDict.Add(appId,open);
|
}
|
}
|
|
public int GetSwitchNum(string appId)
|
{
|
int num = 1;
|
if (switchDict.ContainsKey(appId))
|
{
|
num = switchDict[appId];
|
}
|
return num;
|
}
|
}
|
|
public bool IsOpen(int id)
|
{
|
if (switchDataDict == null) return true;
|
|
if(switchDataDict.ContainsKey(id))
|
{
|
FuncSwithData swithData = switchDataDict[id];
|
string appId = VersionConfig.Get().appId;
|
int open = swithData.GetSwitchNum(appId);
|
return open == 1;
|
}
|
|
return true;
|
}
|
}
|
}
|