Ejemplo n.º 1
0
        private static void WriteValue(BinaryWriter writer, IValue value)
        {
            // Write the value type
            writer.Write((uint)value.Type);

            switch (value.Type)
            {
            case ValueType.Table:
                WriteValue(writer, value.AsTable());
                break;

            case ValueType.List:
                WriteValue(writer, value.AsList());
                break;

            case ValueType.String:
                WriteValue(writer, value.AsString());
                break;

            case ValueType.Integer:
                writer.Write(value.AsInteger());
                break;

            case ValueType.Float:
                writer.Write(value.AsFloat());
                break;

            case ValueType.Boolean:
                WriteValue(writer, value.AsBoolean());
                break;

            default:
                throw new InvalidOperationException("Unknown ValueType");
            }
        }