예제 #1
0
 public static void ApplyShutdownClear()
 {
     lock (MarryLogic.MarryApplyList)
     {
         foreach (KeyValuePair <int, MarryApplyData> it in MarryLogic.MarryApplyList)
         {
             MarryApplyData applyData = it.Value;
             if (applyData.ApplyExpireTime > 0L)
             {
                 MarryLogic.ApplyReturnMoney(it.Key, applyData, null);
             }
         }
         MarryLogic.MarryApplyList.Clear();
     }
 }
예제 #2
0
 public static void ApplyLogoutClear(GameClient client)
 {
     lock (MarryLogic.MarryApplyList)
     {
         MarryApplyData applyData;
         if (MarryLogic.MarryApplyList.TryGetValue(client.ClientData.RoleID, out applyData))
         {
             if (applyData.ApplyExpireTime > 0L)
             {
                 MarryLogic.ApplyReturnMoney(0, applyData, client);
                 applyData.ApplyExpireTime = 0L;
             }
         }
     }
 }
예제 #3
0
 public static void ApplyPeriodicClear(long ticks)
 {
     if (ticks >= MarryLogic.NextPeriodicCheckTime)
     {
         MarryLogic.NextPeriodicCheckTime = ticks + 10000L;
         lock (MarryLogic.MarryApplyList)
         {
             foreach (KeyValuePair <int, MarryApplyData> it in MarryLogic.MarryApplyList.ToList <KeyValuePair <int, MarryApplyData> >())
             {
                 MarryApplyData applyData = it.Value;
                 if (applyData.ApplyExpireTime > 0L && applyData.ApplyExpireTime <= ticks)
                 {
                     MarryLogic.ApplyReturnMoney(it.Key, applyData, null);
                     applyData.ApplyExpireTime = 0L;
                 }
                 if (applyData.ApplyCDEndTime <= ticks)
                 {
                     MarryLogic.MarryApplyList.Remove(it.Key);
                 }
             }
         }
     }
 }