public RegionAction(GameObject actionSource) : base(actionSource.CurrentRegion.TimeManager) <-----
{
if (actionSource == null)
throw new ArgumentNullException("actionSource");
m_actionSource = actionSource;
}
public WorldInitAction(GamePlayer actionSource)
: base(actionSource) <------
{
}
public void HandlePacket(GameClient client, GSPacketIn packet)
{
if (client == null || client.Player == null)
return;
client.UdpConfirm = false;
new WorldInitAction(client.Player).Start(1); <----------
}
#if LOGACTIVESTACKS
//Put the current thread into the active thread list!
//No need to lock the hashtable since we created it
//synchronized! One reader, multiple writers supported!
m_activePacketThreads.Add(Thread.CurrentThread, m_client);
#endif
long start = Environment.TickCount;
try
{
packetHandler.HandlePacket(m_client, packet); <---------
}
catch (Exception e)
{
if (log.IsErrorEnabled)
{
string client = (m_client == null ? "null" : m_client.ToString());
log.Error(
"Error while processing packet (handler=" + packetHandler.GetType().FullName + " client: " + client + ")", e);
}
}
Users browsing this forum: Bing [Bot] and 1 guest