Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
 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);
         }
     }
 }
Exemple #4
0
        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);
        }