void InitCache() { LogHelper.Insert("Formation cache init start", LogType.Info); var list = DicFormationMgr.GetAll(); _formationPointDic = new Dictionary <string, List <DicFormationpointEntity> >(); var list2 = DicFormationdetailMgr.GetAll(); _formationDic = list.ToDictionary(d => d.Idx, d => d); _formationDetailDic = new Dictionary <int, Dictionary <int, DicFormationdetailEntity> >(list.Count); foreach (var entity in list2) { if (!_formationDetailDic.ContainsKey(entity.FormationId)) { _formationDetailDic.Add(entity.FormationId, new Dictionary <int, DicFormationdetailEntity>()); } _formationDetailDic[entity.FormationId].Add(_formationDetailDic[entity.FormationId].Count, entity); } var list3 = ConfigFormationlevelMgr.GetAll(); _formationLevelDic = list3.ToDictionary(d => d.Level, d => d); var list4 = DicFormationpointMgr.GetAll(); foreach (var item in list4) { if (!_formationPointDic.ContainsKey(item.PlayerPoint)) { _formationPointDic.Add(item.PlayerPoint, new List <DicFormationpointEntity>()); } _formationPointDic[item.PlayerPoint].Add(item); } LogHelper.Insert("Formation cache init end", LogType.Info); }
//static void GetServiceMethods() //{ // Assembly assemblyService = Assembly.Load("Games.NBall.ServiceContract"); // RequestConfigEntity requestConfigEntity = new RequestConfigEntity(); // Type[] mytypes = assemblyService.GetTypes(); // requestConfigEntity.Modules = new List<RequestConfigModuleEntity>(); // foreach (var type in mytypes) // { // if (type.Namespace.IsNullOrWhiteSpace() // || type.Name.Contains("<>")) // continue; // if (type.Namespace == "Games.NBall.ServiceContract.Service") // { // var module = new RequestConfigModuleEntity(); // module.Name = type.Name; // module.Actions = new List<RequestConfigActionEntity>(); // foreach (var method in type.GetMethods()) // { // if (method.Name != "ToString" // && method.Name != "Equals" // && method.Name != "GetHashCode" // && method.Name != "GetType" // && method.Name != ".ctor") // { // var action = new RequestConfigActionEntity(); // action.Name = method.Name; // action.Parameters = new List<RequestConfigParameterEntity>(); // foreach (var p in method.GetParameters()) // { // action.Parameters.Add(new RequestConfigParameterEntity() { Name = p.Name, Description = p.Name }); // } // module.Actions.Add(action); // } // } // requestConfigEntity.Modules.Add(module); // } // } //} #endregion #region ExportFormationConfig public static FormationConfigEntity ExportFormationConfig() { var formationConfig = new FormationConfigEntity(); var list = DicFormationMgr.GetAll(); var list2 = DicFormationdetailMgr.GetAll(); formationConfig.FormationList = new List <FormationEntity>(); foreach (var entity in list) { var formationEntity = new FormationEntity(); formationEntity.Idx = entity.Idx; formationEntity.Formation = entity.Formation; formationEntity.Name = entity.Name; formationEntity.BuffPerLevel = entity.BuffPerLevel; formationEntity.Description = entity.Description; formationEntity.DetailList = new List <FormationdetailEntity>(); var details = list2.FindAll(d => d.FormationId == entity.Idx); foreach (var detail in details) { formationEntity.DetailList.Add(new FormationdetailEntity() { Position = detail.Position, Coordinate = detail.Coordinate, SpecificPointDesc = detail.SpecificPointDesc }); } formationConfig.FormationList.Add(formationEntity); } return(formationConfig); }