Example #1
0
    private void DumpSessionInfo(Matching.Session session)
    {
        Matching.SessionInfo            sessionInfo       = session.sessionInfo;
        Matching.SessionAttributeInfo[] sessionAttributes = session.sessionAttributes;
        Matching.SessionMemberInfo[]    members           = session.members;
        OnScreenLog.Add("session: " + sessionInfo.sessionName + ", " + sessionInfo.numMembers + ", " + sessionInfo.maxMembers + ", " + sessionInfo.openSlots + ", " + sessionInfo.reservedSlots + ", " + sessionInfo.worldId + ", " + sessionInfo.roomId);
        for (int i = 0; i < sessionAttributes.Length; i++)
        {
            string text = " Attribute " + i + ": " + sessionAttributes[i].attributeName;
            switch (sessionAttributes[i].attributeValueType)
            {
            case Matching.EnumAttributeValueType.SESSION_ATTRIBUTE_VALUE_INT:
                text = text + " = " + sessionAttributes[i].attributeIntValue;
                break;

            case Matching.EnumAttributeValueType.SESSION_ATTRIBUTE_VALUE_BINARY:
                text = text + " = " + sessionAttributes[i].attributeBinValue;
                break;

            default:
                text += ", has bad value type";
                break;
            }
            text = text + ", " + sessionAttributes[i].attributeType;
            OnScreenLog.Add(text);
        }
        if (members == null)
        {
            return;
        }
        for (int j = 0; j < members.Length; j++)
        {
            OnScreenLog.Add(" Member " + j + ": " + members[j].npOnlineID + ", Type: " + members[j].memberFlag);
            if (members[j].addr != 0)
            {
                OnScreenLog.Add("  IP: " + IntIPToIPString(members[j].addr) + " port " + members[j].port + " 0x" + members[j].port.ToString("X"));
            }
            else
            {
                OnScreenLog.Add("  IP: unknown ");
            }
            sessionAttributes = session.memberAttributes[j];
            if (sessionAttributes.Length == 0)
            {
                OnScreenLog.Add("  No Member Attributes");
            }
            for (int k = 0; k < sessionAttributes.Length; k++)
            {
                string text2 = "  Attribute " + k + ": " + sessionAttributes[k].attributeName;
                switch (sessionAttributes[k].attributeValueType)
                {
                case Matching.EnumAttributeValueType.SESSION_ATTRIBUTE_VALUE_INT:
                    text2 = text2 + " = " + sessionAttributes[k].attributeIntValue;
                    break;

                case Matching.EnumAttributeValueType.SESSION_ATTRIBUTE_VALUE_BINARY:
                    text2 = text2 + " = " + sessionAttributes[k].attributeBinValue;
                    break;

                default:
                    text2 += ", has bad value type";
                    break;
                }
                OnScreenLog.Add(text2);
            }
        }
    }
    private void DumpSessionInfo(Matching.Session session)
    {
        Matching.SessionInfo            sessionInfo = session.sessionInfo;
        Matching.SessionAttributeInfo[] array       = session.sessionAttributes;
        Matching.SessionMemberInfo[]    members     = session.members;
        OnScreenLog.Add(string.Concat(new object[]
        {
            "session: ",
            sessionInfo.get_sessionName(),
            ", ",
            sessionInfo.numMembers,
            ", ",
            sessionInfo.maxMembers,
            ", ",
            sessionInfo.openSlots,
            ", ",
            sessionInfo.reservedSlots,
            ", ",
            sessionInfo.worldId,
            ", ",
            sessionInfo.roomId
        }));
        int i = 0;

        while (i < array.Length)
        {
            string text = string.Concat(new object[]
            {
                " Attribute ",
                i,
                ": ",
                array[i].get_attributeName()
            });
            switch (array[i].attributeValueType)
            {
            case 2:
                text = text + " = " + array[i].attributeIntValue;
                break;

            case 3:
                goto IL_171;

            case 4:
                text = text + " = " + array[i].get_attributeBinValue();
                break;

            default:
                goto IL_171;
            }
IL_184:
            text = text + ", " + array[i].attributeType;
            OnScreenLog.Add(text);
            i++;
            continue;
IL_171:
            text += ", has bad value type";
            goto IL_184;
        }
        if (members == null)
        {
            return;
        }
        for (int j = 0; j < members.Length; j++)
        {
            OnScreenLog.Add(string.Concat(new object[]
            {
                " Member ",
                j,
                ": ",
                members[j].get_npOnlineID(),
                ", Type: ",
                members[j].memberFlag
            }));
            if (members[j].addr != 0)
            {
                OnScreenLog.Add(string.Concat(new object[]
                {
                    "  IP: ",
                    this.IntIPToIPString(members[j].addr),
                    " port ",
                    members[j].port,
                    " 0x",
                    members[j].port.ToString("X")
                }));
            }
            else
            {
                OnScreenLog.Add("  IP: unknown ");
            }
            array = session.memberAttributes.get_Item(j);
            if (array.Length == 0)
            {
                OnScreenLog.Add("  No Member Attributes");
            }
            int k = 0;
            while (k < array.Length)
            {
                string text2 = string.Concat(new object[]
                {
                    "  Attribute ",
                    k,
                    ": ",
                    array[k].get_attributeName()
                });
                switch (array[k].attributeValueType)
                {
                case 2:
                    text2 = text2 + " = " + array[k].attributeIntValue;
                    break;

                case 3:
                    goto IL_379;

                case 4:
                    text2 = text2 + " = " + array[k].get_attributeBinValue();
                    break;

                default:
                    goto IL_379;
                }
                IL_38C:
                OnScreenLog.Add(text2);
                k++;
                continue;
IL_379:
                text2 += ", has bad value type";
                goto IL_38C;
            }
        }
    }