Ejemplo n.º 1
0
    void _Packet(ScTeamQuit p)
    {
        var quitType = (EnumTeamQuitState)p.reason;

        Logger.LogDetail("guid = {0} Quit team, reason: {1}", p.guid, quitType);

        if (quitType != EnumTeamQuitState.QuitFailed)
        {
            var memberData = members.GetValue <PTeamMemberInfo>(p.guid);
            if (memberData == null)
            {
                Logger.LogError("Team member [{0}] cannot be finded", p.guid);
                return;
            }

            for (int i = 0; i < onlineMembers.Count; i++)
            {
                if (onlineMembers[i].roleId == memberData.roleId)
                {
                    onlineMembers.RemoveAt(i);
                    break;
                }
            }
            Logger.LogInfo("after memember quit , current online member count has {0}", onlineMembers.Count);
            DispatchModuleEvent(EventQuit, memberData, quitType);
        }
    }
Ejemplo n.º 2
0
    void _Packet(ScTeamQuit p)
    {
        var frame = FrameData.Create(0, m_teamInputs, FrameAction.MemberQuit, p.reason, p.guid);

        m_frames.Enqueue(frame);

#if AI_LOG
        frame.createTip = Util.Format("Team member [{0}] quit reason {1} frameCount = {2}", p.guid, (EnumTeamQuitState)p.reason, ++recvFrameMsgCount);
#endif
    }