Exemple #1
0
        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);
        }
Exemple #2
0
        //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);
        }