| 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;  | 
|         }  | 
|     }  | 
| }  |