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 switchDataDict { get; private set;} private void ParseFuncSwitchConfig() { switchDataDict = null; var funcSwiths = FuncSwitchConfig.GetValues(); if (funcSwiths == null) return; switchDataDict = new Dictionary(); 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 switchDict { get; private set; } public FuncSwithData(FuncSwitchConfig _switchConfig) { Id = 0; switchConfig = _switchConfig; switchDict = null; if (_switchConfig == null) return; switchDict = new Dictionary(); 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; } } }