private static void Loop() { Byte[] d = NetWork.Get(); while (d != null) { NetWork.PrepareType(); var serializer = MessagePackSerializer.Get <Dictionary <string, MsgPack.MessagePackObject> >(); Dictionary <string, MsgPack.MessagePackObject> dic = serializer.UnpackSingleObject(d); MsgPack.MessagePackObject a; dic.TryGetValue("event_name", out a); List <System.Action <Dictionary <string, MsgPack.MessagePackObject> > > mlist; string name = a.ToString(); if (events.TryGetValue(name, out mlist)) { mlist.ForEach(delegate(System.Action <Dictionary <string, MsgPack.MessagePackObject> > e) { e.Invoke(dic); }); } d = NetWork.Get(); } }