コード例 #1
0
ファイル: LFGHandler.cs プロジェクト: zgbjmy2009/CypherCore
        public void SendLfgJoinResult(LfgJoinResultData joinData)
        {
            LFGJoinResult lfgJoinResult = new LFGJoinResult();

            RideTicket ticket = Global.LFGMgr.GetTicket(GetPlayer().GetGUID());

            if (ticket != null)
            {
                lfgJoinResult.Ticket = ticket;
            }

            lfgJoinResult.Result = (byte)joinData.result;
            if (joinData.result == LfgJoinResult.RoleCheckFailed)
            {
                lfgJoinResult.ResultDetail = (byte)joinData.state;
            }
            else if (joinData.result == LfgJoinResult.NoSlots)
            {
                lfgJoinResult.BlackListNames = joinData.playersMissingRequirement;
            }

            foreach (var it in joinData.lockmap)
            {
                var blackList = new LFGJoinBlackList();
                blackList.PlayerGuid = it.Key;

                foreach (var lockInfo in it.Value)
                {
                    Log.outTrace(LogFilter.Lfg, "SendLfgJoinResult:: {0} DungeonID: {1} Lock status: {2} Required itemLevel: {3} Current itemLevel: {4}",
                                 it.Key.ToString(), (lockInfo.Key & 0x00FFFFFF), lockInfo.Value.lockStatus, lockInfo.Value.requiredItemLevel, lockInfo.Value.currentItemLevel);

                    blackList.Slots.Add(new LFGJoinBlackListSlot((int)lockInfo.Key, (int)lockInfo.Value.lockStatus, lockInfo.Value.requiredItemLevel, (int)lockInfo.Value.currentItemLevel));
                }
            }

            SendPacket(lfgJoinResult);
        }
コード例 #2
0
 public void SetTicket(RideTicket ticket)
 {
     m_Ticket = ticket;
 }