public void LuaSerialization() { var reg = new MessageRegistry(); var luaReg = new LuaTypeRegistry(new[] { LuaTypeRegistry.StandartTypes }.SelectMany(x => x)); var a = new LuaSerializer(reg, luaReg); var ser = new DefaultSerializer<SubMessage>(reg, TypeRegistry.CreateDefault()); using (var buf = new ThreadSafeWriteQueue(1024)) { var dictionary = new Dictionary<LuaObject, LuaObject> { }; dictionary.Add(LuaObject.FromString("MessageId"), LuaObject.FromNumber(ser.MessageId)); var table = LuaObject.FromTable(dictionary); table[LuaObject.FromString("Text")] = LuaObject.FromString("abc"); a.Send(buf, table); int pos = buf.ReadMessage(); var id = buf.ReadInt32(pos); Assert.AreEqual(ser.MessageId, id); var table2 = a.Receive(buf, pos); Assert.AreEqual(ser.MessageId, table2[LuaObject.FromString("MessageId")].AsNumber()); Assert.AreEqual(table[LuaObject.FromString("Text")].AsString(), table2[LuaObject.FromString("Text")].AsString()); } }
public LuaSerializer(MessageRegistry registry, LuaTypeRegistry luaTypeRegistry) { this.registry = registry; this.luaTypeRegistry = luaTypeRegistry; }