Exemplo n.º 1
0
    /// <summary>
    /// 获取当天日程总时间
    /// </summary>
    /// <param name="scheduleid"></param>
    /// <returns></returns>
    public long GetScheduleTotleSecondsByID(uint scheduleid)
    {
        if (m_dicScheduleData == null)
        {
            m_dicScheduleData = new Dictionary <uint, ScheduleDefine.ScheduleLocalData>();
        }

        if (m_dicScheduleData != null)
        {
            ScheduleDefine.ScheduleLocalData schedule = null;
            if (!m_dicScheduleData.ContainsKey(scheduleid))
            {
                schedule = new ScheduleDefine.ScheduleLocalData(scheduleid);
                m_dicScheduleData.Add(scheduleid, schedule);
            }
            else
            {
                schedule = m_dicScheduleData[scheduleid];
            }
            if (schedule != null)
            {
                TimeSpan startTime = new TimeSpan((int)schedule.TabData.startHour, (int)schedule.TabData.startMin, 0);
                TimeSpan endTime   = new TimeSpan((int)schedule.TabData.endHour, (int)schedule.TabData.endMin, 0);
                TimeSpan totleTime = endTime - startTime;
                return((long)totleTime.TotalSeconds);
            }
        }

        return(0);
    }
Exemplo n.º 2
0
    public bool InSchedule(uint scheduleid, out long leftSeconds)
    {
        leftSeconds = 0;
        bool inSche = false;

        if (m_dic_schedule == null)
        {
            m_dic_schedule = new Dictionary <uint, ScheduleDefine.ScheduleLocalData>();
        }
        ScheduleDefine.ScheduleLocalData scheduleInfos = null;
        if (m_dic_schedule.ContainsKey(scheduleid))
        {
            scheduleInfos = m_dic_schedule[scheduleid];
        }
        else
        {
            scheduleInfos = new ScheduleDefine.ScheduleLocalData(scheduleid);
            m_dic_schedule.Add(scheduleid, scheduleInfos);
        }
        if (scheduleInfos != null)
        {
            inSche = scheduleInfos.IsInSchedule(DateTimeHelper.Instance.Now, out leftSeconds);
        }
        return(inSche);
    }
Exemplo n.º 3
0
    /// <summary>
    /// 判断当前时刻是否在日程内
    /// </summary>
    /// <param name="schedulID"></param>
    /// <returns></returns>
    public bool BoolNowIsInSchedule(ScheduleDefine.ScheduleLocalData scheduleTemp, out long leftSeconds)
    {
        bool isInSchedule = false;

        leftSeconds = 0;
        long scheduleLeftTime = 0;
        long nextScheduleTime = 0;

        if (scheduleTemp != null)
        {
            if (scheduleTemp.IsInSchedule(DateTimeHelper.Instance.Now, out leftSeconds))
            {
                isInSchedule = true;
                if (leftSeconds > scheduleLeftTime)
                {
                    scheduleLeftTime = leftSeconds;
                }
            }
            else if (leftSeconds > 0 && leftSeconds > nextScheduleTime)
            {
                nextScheduleTime = leftSeconds;
            }
        }
        leftSeconds = (isInSchedule) ? scheduleLeftTime : nextScheduleTime;
        return(isInSchedule);
    }
Exemplo n.º 4
0
    public string GetScheduleStrByID(uint scheduleid)
    {
        string str = "";

        if (m_dicScheduleData == null)
        {
            m_dicScheduleData = new Dictionary <uint, ScheduleDefine.ScheduleLocalData>();
        }
        if (m_dicScheduleData != null)
        {
            ScheduleDefine.ScheduleLocalData schedule = null;
            if (!m_dicScheduleData.ContainsKey(scheduleid))
            {
                schedule = new ScheduleDefine.ScheduleLocalData(scheduleid);
                m_dicScheduleData.Add(scheduleid, schedule);
            }
            else
            {
                schedule = m_dicScheduleData[scheduleid];
            }
            if (schedule != null)
            {
                if (schedule.TabData != null)
                {
                    str = string.Format("{0}年{1}月{2}日{3}时{4}分--{5}年{6}月{7}日{8}时{9}分",
                                        schedule.TabData.startYear,
                                        schedule.TabData.startMonth,
                                        schedule.TabData.startDay,
                                        schedule.TabData.startHour,
                                        schedule.TabData.startMin,

                                        schedule.TabData.endYear,
                                        schedule.TabData.endMonth,
                                        schedule.TabData.endDay,
                                        schedule.TabData.endHour,
                                        schedule.TabData.endMin
                                        );
                }
            }
        }
        return(str);
    }
Exemplo n.º 5
0
 /// <summary>
 /// 构建日程信息
 /// </summary>
 public void StructScheduleInfo()
 {
     scheduleInfos.Clear();
     table.StoreDataBase store = LocalMall;
     if (null != store && !string.IsNullOrEmpty(store.ScheduleId))
     {
         string[] scheduleIdArray = store.ScheduleId.Split(new char[] { '_' });
         if (null != scheduleIdArray)
         {
             ScheduleDefine.ScheduleLocalData scheduleTemp = null;
             for (int i = 0; i < scheduleIdArray.Length; i++)
             {
                 if (string.IsNullOrEmpty(scheduleIdArray[i]))
                 {
                     continue;
                 }
                 scheduleTemp = new ScheduleDefine.ScheduleLocalData(uint.Parse(scheduleIdArray[i].Trim()));
                 scheduleInfos.Add(scheduleTemp);
             }
         }
     }
 }
Exemplo n.º 6
0
    /// <summary>
    /// 构建日程信息
    /// </summary>
    public void StructScheduleInfo(DailyDataBase daily)
    {
        scheduleInfos = new List <ScheduleDefine.ScheduleLocalData>();
        table.DailyDataBase dailyData = daily;
        if (null != dailyData && !string.IsNullOrEmpty(dailyData.ScheduleId))
        {
            string[] scheduleIdArray = dailyData.ScheduleId.Split(new char[] { '_' });
            if (null != scheduleIdArray)
            {
                ScheduleDefine.ScheduleLocalData scheduleTemp = null;
                for (int i = 0; i < scheduleIdArray.Length; i++)
                {
                    scheduleTemp = new ScheduleDefine.ScheduleLocalData(uint.Parse(scheduleIdArray[i].Trim()));
                    scheduleInfos.Add(scheduleTemp);
                }

                if (!m_scheduleDic.ContainsKey(daily.id))
                {
                    m_scheduleDic.Add(daily.id, scheduleInfos);
                }
            }
        }
    }
Exemplo n.º 7
0
        public void CheckStatus()
        {
            switch (wBossStatus)
            {
            case WBossStatus.WBossStatus_UnStart:
            {
                table.TreasureBossDataBase db = GameTableManager.Instance.GetTableItem <table.TreasureBossDataBase>(ID);
                bool setSuccess = false;
                if (null != db)
                {
                    if (!string.IsNullOrEmpty(db.scheIdStr))
                    {
                        string[] scheIds = db.scheIdStr.Split(new char[] { '_' });
                        if (null != scheIds)
                        {
                            uint schId           = 0;
                            long leftTime        = 0;
                            long minLeftTime     = 0;
                            int  daySecondsTotal = 86400;
                            ScheduleDefine.ScheduleLocalData tempScheduleLocalData = null;
                            for (int i = 0, max = scheIds.Length; i < max; i++)
                            {
                                if (!uint.TryParse(scheIds[i], out schId))
                                {
                                    continue;
                                }
                                tempScheduleLocalData = new ScheduleDefine.ScheduleLocalData(schId);
                                if (!tempScheduleLocalData.IsInSchedule(DateTimeHelper.Instance.Now - 28800, out leftTime))
                                {
                                    if (leftTime < daySecondsTotal)
                                    {
                                        setSuccess = true;
                                        m_status   = JvBaoBossStatus.JBS_CommingSoon;
                                        break;
                                    }
                                    else if (minLeftTime == 0 || minLeftTime > leftTime)
                                    {
                                        minLeftTime = leftTime;
                                    }
                                }
                            }

                            if (!setSuccess &&
                                (minLeftTime != 0) &&
                                (minLeftTime >= daySecondsTotal))
                            {
                                setSuccess = true;
                                m_status   = JvBaoBossStatus.JBS_NotOpen;
                            }
                        }
                    }
                    ;
                }
                if (!setSuccess)
                {
                    m_status = JvBaoBossStatus.JBS_NotOpen;
                }
            }
            break;

            case WBossStatus.WBossStatus_Begin:
                m_status = JvBaoBossStatus.JBS_Attack;
                break;

            case WBossStatus.WBossStatus_End:
                m_status = JvBaoBossStatus.JBS_Finish;
                break;
            }
        }