public static bool JudgeCanEnterOnTime(ZhuanShengMapInfo mapInfo) { DateTime now = TimeUtil.NowDateTime(); DateTime startTime = DateTime.Parse(mapInfo.TimePoints[0]); DateTime endTime = startTime.AddMinutes((double)(mapInfo.ReadyTime / 60)); return(now > startTime && now <= endTime); }
public static void LoadZhuanShengShiLianXml() { string fileName = ""; try { fileName = Global.GameResPath(ThemeDataConst.ThemeActivityZhuanSheng); XElement xml = CheckHelper.LoadXml(fileName, true); if (null != xml) { ZhuanShengShiLian.ZhuanShengRunTimeData.ThemeZSActivity.FromDate = "-1"; ZhuanShengShiLian.ZhuanShengRunTimeData.ThemeZSActivity.ToDate = "-1"; ZhuanShengShiLian.ZhuanShengRunTimeData.ThemeZSActivity.AwardStartDate = "-1"; ZhuanShengShiLian.ZhuanShengRunTimeData.ThemeZSActivity.AwardEndDate = "-1"; Dictionary <int, ZhuanShengMapInfo> mapInfoDict = new Dictionary <int, ZhuanShengMapInfo>(); List <int> mapList = new List <int>(); IEnumerable <XElement> nodes = xml.Elements(); foreach (XElement xmlItem in nodes) { int mapCode = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "MapID", "0")); string[] minLevel = Global.GetDefAttributeStr(xmlItem, "MinLevel", "0").Split(new char[] { '|' }); if (minLevel.Length >= 2) { string[] maxLevel = Global.GetDefAttributeStr(xmlItem, "MaxLevel", "0").Split(new char[] { '|' }); if (maxLevel.Length >= 2) { ZhuanShengMapInfo mapInfo = new ZhuanShengMapInfo { MonstersID = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "MonstersID", "0")), MapCode = mapCode, ReadyTime = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "ReadyTime", "0")), FightSecs = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "FightSecs", "0")), ClearRolesSecs = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "ClearRolesSecs", "0")), MaxEnterNum = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "MaxEnterNum", "0")), BornX = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "X", "0")), BornY = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "Y", "0")), MinZhuanSheng = Convert.ToInt32(minLevel[0]), MinLevel = Convert.ToInt32(minLevel[1]), MaxZhuanSheng = Convert.ToInt32(maxLevel[0]), MaxLevel = Convert.ToInt32(maxLevel[1]) }; List <string> timePointsList = new List <string>(); string timePoints = Global.GetDefAttributeStr(xmlItem, "TimePoints", "0"); if (!string.IsNullOrEmpty(timePoints)) { string[] sField = timePoints.Split(new char[] { '-' }); for (int i = 0; i < sField.Length; i++) { timePointsList.Add(sField[i].Trim()); } } mapInfo.TimePoints = timePointsList; mapInfoDict[mapCode] = mapInfo; } } } lock (ZhuanShengShiLian.ZhuanShengRunTimeData.Mutex) { ZhuanShengShiLian.ZhuanShengRunTimeData.ZhuanShengMapDict = mapInfoDict; } fileName = Global.GameResPath(ThemeDataConst.ThemeActivityZhuanShengReward); xml = CheckHelper.LoadXml(fileName, true); if (null != xml) { Dictionary <int, List <ShiLianReward> > shiLianDict = new Dictionary <int, List <ShiLianReward> >(); nodes = xml.Elements(); foreach (XElement xmlItem in nodes) { int mapCode = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "MapID", "0")); List <ShiLianReward> shiLianList; if (!shiLianDict.TryGetValue(mapCode, out shiLianList)) { shiLianList = new List <ShiLianReward>(); shiLianDict[mapCode] = shiLianList; } shiLianList.Add(new ShiLianReward { MinRank = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "MinRank", "0")), MaxRank = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "MaxRank", "0")), WinRewardItem = Global.GetDefAttributeStr(xmlItem, "WinRewardItem", ""), WinrewardExp = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "WinrewardExp", "0")), WinRewardMoney = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "WinRewardMoney", "0")), LoseRewardItem = Global.GetDefAttributeStr(xmlItem, "LoseRewardItem", "0"), LoseRewardExp = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "LoseRewardExp", "0")), LoseRewardMoney = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "LoseRewardMoney", "0")) }); } List <int> goodsList = new List <int>(); string goodsStr = GameManager.systemParamsList.GetParamValueByName("ThemeActivityZhuanShengGoods"); if (!string.IsNullOrEmpty(goodsStr)) { goodsList = Array.ConvertAll <string, int>(goodsStr.Split(new char[] { ',' }), (string _x) => Convert.ToInt32(_x)).ToList <int>(); } lock (ZhuanShengShiLian.ZhuanShengRunTimeData.Mutex) { ZhuanShengShiLian.ZhuanShengRunTimeData.ShiLianRewardDict = shiLianDict; ZhuanShengShiLian.ZhuanShengRunTimeData.BroadGoodsIDList = goodsList; } ZhuanShengShiLian.ZhuanShengRunTimeData.ThemeZSActivity.ActivityType = 157; ZhuanShengShiLian.ZhuanShengRunTimeData.ThemeZSActivity.PredealDateTime(); } } } catch (Exception ex) { LogManager.WriteLog(LogTypes.Fatal, string.Format("加载xml配置文件:{0}, 失败。", fileName), ex, true); } }