Ver Fonte

修复TimerComponent的bug

tanghai há 8 anos atrás
pai
commit
d242578f9a
1 ficheiros alterados com 6 adições e 2 exclusões
  1. 6 2
      Unity/Assets/Scripts/Component/TimerComponent.cs

+ 6 - 2
Unity/Assets/Scripts/Component/TimerComponent.cs

@@ -29,6 +29,8 @@ namespace Model
 		/// </summary>
 		/// </summary>
 		private readonly MultiMap<long, long> timeId = new MultiMap<long, long>();
 		private readonly MultiMap<long, long> timeId = new MultiMap<long, long>();
 
 
+		private readonly List<long> timeOutId = new List<long>();
+
 		public void Update()
 		public void Update()
 		{
 		{
 			long timeNow = TimeHelper.Now();
 			long timeNow = TimeHelper.Now();
@@ -45,9 +47,11 @@ namespace Model
 					break;
 					break;
 				}
 				}
 
 
-				this.timeId.Remove(kv.Key);
+				timeOutId.Clear();
+				timeOutId.AddRange(kv.Value);
 
 
-				List<long> timeOutId = kv.Value;
+				this.timeId.Remove(kv.Key);
+				
 				foreach (long id in timeOutId)
 				foreach (long id in timeOutId)
 				{
 				{
 					Timer timer;
 					Timer timer;