private void ExtractMailAttachment(MailInfo info, ulong userGuid) { UserProcessScheduler dataProcess = UserServer.Instance.UserProcessScheduler; UserThread userThread = dataProcess.GetUserThread(userGuid); userThread.QueueAction(userThread.AddAssets, userGuid, info.m_Money, info.m_Gold); int itemCt = info.m_Items.Count; for (int itemIx = 0; itemIx < itemCt; ++itemIx) { MailItem item = info.m_Items[itemIx]; userThread.QueueAction(userThread.AddItem, userGuid, item.m_ItemId, item.m_ItemNum); } }
private void HandleUserQuit(Msg_RL_UserQuit msg_, PBChannel channel, int src, uint session) { UserProcessScheduler dataProcess = UserServer.Instance.UserProcessScheduler; UserThread userThread = dataProcess.GetUserThread(msg_.UserGuid); if (null != userThread) { userThread.QueueAction(userThread.HandleUserQuit, msg_); } else { dataProcess.DefaultUserThread.QueueAction(dataProcess.DefaultUserThread.HandleUserQuit, msg_); } }