Asgard.Core.Network.Packets.RPCPacket.ReadParam C# (CSharp) Method

ReadParam() private method

private ReadParam ( Bitstream msg ) : object
msg Bitstream
return object
        private object ReadParam(Bitstream msg)
        {
            var fullTypeName = msg.ReadString();
            var type = LookupType(fullTypeName);
            var dsitem = new DataSerializationProperty(null, type);
            object o;
            switch (dsitem.Type)
            {
                case DataTypes.BOOL:
                    o = msg.ReadBool();
                    break;
                case DataTypes.UBYTE:
                    o = msg.ReadByte();
                    break;
                case DataTypes.UINT:
                    o = msg.ReadVariableUInt32();
                    break;
                case DataTypes.BYTE:
                    o = msg.ReadSByte();
                    break;
                case DataTypes.INT:
                    o = msg.ReadVariableInt32();
                    break;
                case DataTypes.ULONG:
                    o = msg.ReadUInt64();
                    break;
                case DataTypes.LONG:
                    o = msg.ReadInt64();
                    break;
                case DataTypes.FLOAT:
                    o = msg.ReadFloat();
                    break;
                case DataTypes.DOUBLE:
                    o = msg.ReadDouble();
                    break;
                case DataTypes.STRING:
                    o = msg.ReadString();
                    break;
                case DataTypes.VECTOR2:
                    o = msg.ReadVector2();
                    break;
                default:
                    throw new ArgumentException("Invalid RPC paramter type.");
            }

            return o;
        }