コード例 #1
0
ファイル: ActivityTools.cs プロジェクト: whztt07/mobahero_src
        public static void RefreshBannerActivityList()
        {
            Dictionary <string, SysActivityVo> typeDicByType = BaseDataMgr.instance.GetTypeDicByType <SysActivityVo>();

            ActivityTools.listBannerActivity = new List <BannerInfo>();
            foreach (KeyValuePair <string, SysActivityVo> current in typeDicByType)
            {
                if (current.Value.banner_type == 1)
                {
                    if (!string.IsNullOrEmpty(current.Value.module))
                    {
                        DateTime serverCurrentTime = ToolsFacade.ServerCurrentTime;
                        DateTime dateTime          = ActivityTools.GetDateTime(current.Value.show_end_time, false);
                        DateTime dateTime2         = ActivityTools.GetDateTime(current.Value.show_start_time, true);
                        if (!(serverCurrentTime > dateTime) && !(serverCurrentTime < dateTime2))
                        {
                            string[] array = current.Value.module.Split(new char[]
                            {
                                ','
                            });
                            SysActivityModuleVo sysActivityModuleVo = null;
                            for (int i = 0; i < array.Length; i++)
                            {
                                SysActivityModuleVo dataById = BaseDataMgr.instance.GetDataById <SysActivityModuleVo>(array[i]);
                                if (dataById != null)
                                {
                                    if (dataById.type == 3)
                                    {
                                        sysActivityModuleVo = dataById;
                                        break;
                                    }
                                }
                            }
                            if (sysActivityModuleVo != null)
                            {
                                BannerInfo item = new BannerInfo
                                {
                                    activityConfig  = current.Value,
                                    showEndTime     = dateTime,
                                    id              = current.Value.id,
                                    picModuleConfig = sysActivityModuleVo
                                };
                                ActivityTools.listBannerActivity.Add(item);
                            }
                        }
                    }
                }
            }
            ActivityTools.listBannerActivity.Sort(new Comparison <BannerInfo>(ActivityTools.Comparision_SysActivityVo));
            if (ActivityTools.listBannerActivity.Count > 0 && ActivityTools.listBannerActivity.Count < 4)
            {
                int num = 0;
                do
                {
                    ActivityTools.listBannerActivity.Add(ActivityTools.listBannerActivity[num++]);
                }while (ActivityTools.listBannerActivity.Count < 4);
            }
        }
コード例 #2
0
        private void InitActivityNewState()
        {
            ActivityData activityData = base.Data as ActivityData;

            if (activityData.dicActivityNewState == null)
            {
                activityData.dicActivityNewState = new Dictionary <int, ActivityData.ActivityNewState>();
            }
            Dictionary <string, object> dicByType = BaseDataMgr.instance.GetDicByType <SysActivityVo>();
            DateTime serverCurrentTime            = ToolsFacade.ServerCurrentTime;

            foreach (KeyValuePair <string, object> current in dicByType)
            {
                SysActivityVo sysActivityVo = current.Value as SysActivityVo;
                if (sysActivityVo != null)
                {
                    DateTime dateTime  = ActivityTools.GetDateTime(sysActivityVo.show_start_time, true);
                    DateTime dateTime2 = ActivityTools.GetDateTime(sysActivityVo.show_end_time, false);
                    if (string.IsNullOrEmpty(sysActivityVo.show_start_time) || !(serverCurrentTime < dateTime))
                    {
                        if (string.IsNullOrEmpty(sysActivityVo.show_end_time) || !(serverCurrentTime > dateTime2))
                        {
                            int key = int.Parse(current.Key);
                            if (!activityData.dicActivityNewState.ContainsKey(key))
                            {
                                ActivityData.ActivityNewState activityNewState = new ActivityData.ActivityNewState
                                {
                                    activityVo   = sysActivityVo,
                                    type         = sysActivityVo.activity_type_id,
                                    dicTaskState = new Dictionary <int, ActivityData.TaskState>()
                                };
                                activityData.dicActivityNewState.Add(key, activityNewState);
                                string[] array = sysActivityVo.module.Split(new char[]
                                {
                                    ','
                                });
                                for (int i = 0; i < array.Length; i++)
                                {
                                    SysActivityModuleVo dataById = BaseDataMgr.instance.GetDataById <SysActivityModuleVo>(array[i]);
                                    if (dataById != null && dataById.type == 4)
                                    {
                                        if (string.IsNullOrEmpty(dataById.content_first))
                                        {
                                            ClientLogger.Error("配置错误, 模块ID=" + dataById.id);
                                        }
                                        else
                                        {
                                            string[] array2 = dataById.content_first.Split(new char[]
                                            {
                                                ','
                                            });
                                            for (int j = 0; j < array2.Length; j++)
                                            {
                                                SysActivityTaskVo dataById2 = BaseDataMgr.instance.GetDataById <SysActivityTaskVo>(array2[j]);
                                                if (dataById2 == null)
                                                {
                                                    ClientLogger.Error("配置错误,找不到SysActivityTaskVo id=" + array2[j]);
                                                }
                                                else
                                                {
                                                    ActivityData.TaskState value = new ActivityData.TaskState
                                                    {
                                                        taskID = dataById2.id,
                                                        taskVo = dataById2
                                                    };
                                                    activityNewState.dicTaskState.Add(dataById2.id, value);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            this.init = true;
        }