|
@@ -13,6 +13,7 @@ using CommonLang.Log;
|
|
|
using CommonLang.Property;
|
|
|
using CommonLang.Vector;
|
|
|
using System;
|
|
|
+using System.Collections.Concurrent;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Diagnostics;
|
|
|
using static CommonAI.Zone.SpellTemplate;
|
|
@@ -46,7 +47,7 @@ namespace CommonAI.Zone.Instance
|
|
|
private IQuestAdapter mQuestAdapter;
|
|
|
|
|
|
private SyncMessageQueue<Action> mSyncActionQueue = new SyncMessageQueue<Action>();
|
|
|
- private Queue<Event> mSendingEvents = new Queue<Event>();
|
|
|
+ private ConcurrentQueue<Event> mSendingEvents = new ConcurrentQueue<Event>();
|
|
|
private InstanceZoneObjectMap mObjects;
|
|
|
|
|
|
public TemplateManager Templates { get { return mTemplates; } }
|
|
@@ -535,10 +536,8 @@ namespace CommonAI.Zone.Instance
|
|
|
}
|
|
|
sync_pos_list.Clear();
|
|
|
|
|
|
- while (mSendingEvents.Count > 0)
|
|
|
+ while (mSendingEvents.TryDequeue(out Event evt))
|
|
|
{
|
|
|
- Event evt = mSendingEvents.Dequeue();
|
|
|
-
|
|
|
|
|
|
mListener.onEventHandler(evt);
|
|
|
if (mOnPostEvent != null)
|