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);
            }
        }
Beispiel #2
0
        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_);
            }
        }