예제 #1
0
        private void Awake()
        {
            this.listItemID    = new List <int>();
            this.dicComs       = new Dictionary <int, Activity_activityMenu>();
            this.dicNoticeData = new Dictionary <int, NoticeBoardData>();
            Dictionary <string, object> dicByType = BaseDataMgr.instance.GetDicByType <SysActivityVo>();

            this.config = new Dictionary <int, 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))
                        {
                            this.config.Add(int.Parse(current.Key), sysActivityVo);
                        }
                    }
                }
            }
            if (this.config == null)
            {
                this.valid = false;
                ClientLogger.Error("SysActivityVo 读取失败");
            }
        }
        private bool CanJumpToActive(int actId)
        {
            bool          result            = false;
            DateTime      serverCurrentTime = ToolsFacade.ServerCurrentTime;
            SysActivityVo dataById          = BaseDataMgr.instance.GetDataById <SysActivityVo>(actId.ToString());

            if (dataById != null)
            {
                string[] array = dataById.start_time.Split(new char[]
                {
                    '|'
                });
                string[] array2 = dataById.end_time.Split(new char[]
                {
                    '|'
                });
                DateTime t  = new DateTime(int.Parse(array[0]), int.Parse(array[1]), int.Parse(array[2]), int.Parse(array[3]), int.Parse(array[4]), int.Parse(array[5]));
                DateTime t2 = new DateTime(int.Parse(array2[0]), int.Parse(array2[1]), int.Parse(array2[2]), int.Parse(array2[3]), int.Parse(array2[4]), int.Parse(array2[5]));
                if (serverCurrentTime > t && serverCurrentTime < t2)
                {
                    result = true;
                }
                else if ("[]" == dataById.start_time)
                {
                    result = true;
                }
            }
            return(result);
        }
예제 #3
0
        private int Comparision_SysActivity(int a, int b)
        {
            SysActivityVo sysActivityVo  = this.config[a];
            SysActivityVo sysActivityVo2 = this.config[b];
            int           result;

            if (sysActivityVo.rank != sysActivityVo2.rank)
            {
                result = sysActivityVo.rank - sysActivityVo2.rank;
            }
            else
            {
                result = sysActivityVo.id - sysActivityVo2.id;
            }
            return(result);
        }
예제 #4
0
        private void UpdateActivityIDList()
        {
            this.listItemID.Clear();
            int num = this.CurTypeID;

            Dictionary <int, SysActivityVo> .Enumerator enumerator = this.config.GetEnumerator();
            while (enumerator.MoveNext())
            {
                KeyValuePair <int, SysActivityVo> current = enumerator.Current;
                SysActivityVo value = current.Value;
                if (value != null)
                {
                    if (value.activity_type_id == num)
                    {
                        this.listItemID.Add(value.id);
                    }
                }
            }
            this.listItemID.Sort(new Comparison <int>(this.Comparision_SysActivity));
        }
        private void UpdatePortraitFrame(List <SysSummonersPictureframeVo> Lst)
        {
            bool isOwn      = true;
            bool isNew      = true;
            bool isVisiable = true;

            GridHelper.FillGrid <ChangeAvatarItem>(this.CenterGrid, this._avatarItem, Lst.Count, delegate(int idx, ChangeAvatarItem comp)
            {
                if (this.FrameStateLst.Find((string[] item) => item[0] == Lst[idx].pictureframe_id.ToString()) != null)
                {
                    isOwn          = true;
                    string[] array = this.FrameStateLst.Find((string[] item) => item[0] == Lst[idx].pictureframe_id.ToString());
                    if (array[1] == "0")
                    {
                        isNew = false;
                    }
                    else
                    {
                        isNew = true;
                    }
                }
                else
                {
                    isOwn = false;
                    isNew = false;
                }
                if (Lst[idx].pictureframe_classify == 3)
                {
                    string[] array2 = Lst[idx].pictureframe_skip.Split(new char[]
                    {
                        '|'
                    });
                    if (array2 != null && array2.Length == 3)
                    {
                        string unikey          = array2[1];
                        SysActivityVo dataById = BaseDataMgr.instance.GetDataById <SysActivityVo>(unikey);
                        DateTime dateTime      = ActivityTools.GetDateTime(dataById.start_time, true);
                        DateTime dateTime2     = ActivityTools.GetDateTime(dataById.end_time, true);
                        isVisiable             = ToolsFacade.Instance.IsInTimeInterval(dateTime, dateTime2);
                    }
                }
                if ((Lst[idx].is_hidden == 1 && isVisiable) || isOwn)
                {
                    comp.UpdateAvatarItem(Lst[idx], isOwn, isNew);
                    comp.transform.name = Lst[idx].pictureframe_id.ToString();
                    comp.transform.gameObject.SetActive(true);
                    if (Lst[idx].pictureframe_id.ToString() == this.selectPortraitName)
                    {
                        comp.transform.Find("Click").gameObject.SetActive(true);
                    }
                    else
                    {
                        comp.transform.Find("Click").gameObject.SetActive(false);
                    }
                }
                else
                {
                    comp.gameObject.SetActive(false);
                }
            });
            this.CenterGrid.Reposition();
        }
예제 #6
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;
        }