public static MarryApplyData AddMarryApply(int roleID, MarryApplyType type, int spouseID) { MarryApplyData data = null; lock (MarryLogic.MarryApplyList) { if (!MarryLogic.MarryApplyList.ContainsKey(roleID)) { data = new MarryApplyData { ApplyExpireTime = TimeUtil.NOW() + (long)(MarryLogic.MarryReplyTime * 1000), ApplyCDEndTime = 0L, ApplySpouseRoleID = spouseID, ApplyType = type }; if (type == MarryApplyType.ApplyInit) { data.ApplyCDEndTime = TimeUtil.NOW() + (long)(MarryLogic.MarryCD * 1000); } else { data.ApplyCDEndTime = data.ApplyExpireTime; } MarryLogic.MarryApplyList.Add(roleID, data); } } return(data); }
public static MarryApplyData AddMarryApply(int roleID, MarryApplyType type, int spouseID) { MarryApplyData data = null; lock (MarryApplyList) { if (MarryApplyList.ContainsKey(roleID) == false) { data = new MarryApplyData() { ApplyExpireTime = TimeUtil.NOW() + MarryReplyTime * 1000, ApplyCDEndTime = 0, ApplySpouseRoleID = spouseID, ApplyType = type, //IsMoneyReturn = 0, }; if (type == MarryApplyType.ApplyInit) { data.ApplyCDEndTime = TimeUtil.NOW() + MarryCD * 1000; } else { data.ApplyCDEndTime = data.ApplyExpireTime; } MarryApplyList.Add(roleID, data); } } return(data); }
public static bool RemoveMarryApply(int roleID, MarryApplyType type = MarryApplyType.ApplyNull) { lock (MarryApplyList) { if (type == MarryApplyType.ApplyNull) { return(MarryApplyList.Remove(roleID)); } else { MarryApplyData applyData; bool ret = MarryApplyList.TryGetValue(roleID, out applyData); if (ret == true) { if (applyData.ApplyType != type) { ret = false; } else if (applyData.ApplyExpireTime == 0) { ret = false; } else { if (applyData.ApplyExpireTime <= TimeUtil.NOW()) { ret = false; } else { // 符合条件才清0,外面逻辑注意是否要返还货币 applyData.ApplyExpireTime = 0; } } } return(ret); } } }
public static bool RemoveMarryApply(int roleID, MarryApplyType type = MarryApplyType.ApplyNull) { bool result; lock (MarryLogic.MarryApplyList) { if (type == MarryApplyType.ApplyNull) { result = MarryLogic.MarryApplyList.Remove(roleID); } else { MarryApplyData applyData; bool ret = MarryLogic.MarryApplyList.TryGetValue(roleID, out applyData); if (ret) { if (applyData.ApplyType != type) { ret = false; } else if (applyData.ApplyExpireTime == 0L) { ret = false; } else if (applyData.ApplyExpireTime <= TimeUtil.NOW()) { ret = false; } else { applyData.ApplyExpireTime = 0L; } } result = ret; } } return(result); }