public static unsafe void RegisterTypeDef(JsContext context, JsTypeDefinition jsTypeDefinition)
{
INativeRef proxObject = jsTypeDefinition.nativeProxy;
byte[] finalBuffer = null;
using (MemoryStream ms = new MemoryStream())
{
//serialize with our custom protocol
//plan change to json ?
//utf16
BinaryWriter binWriter = new BinaryWriter(ms, System.Text.Encoding.Unicode);
//binay format
//1. typename
//2. fields
//3. method
//4. indexer get/set
binWriter.Write((short)1);//start marker
context.CollectionTypeMembers(jsTypeDefinition);
//------------------------------------------------
jsTypeDefinition.WriteDefinitionToStream(binWriter);
//------------------------------------------------
finalBuffer = ms.ToArray();
fixed (byte* tt = &finalBuffer[0])
{
proxObject.SetUnmanagedPtr(
ContextRegisterTypeDefinition(
context.Handle.Handle,
0, tt, finalBuffer.Length));
}
//ms.Close();
}
}
public static void CreateNativePart(JsContext context, INativeScriptable proxyObj)