/// <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); }
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); }
/// <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); }
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); }
/// <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); } } } }
/// <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); } } } }
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; } }