static StackObject *Send_0(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj) { ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain; StackObject *ptr_of_this_method; StackObject *__ret = ILIntepreter.Minus(__esp, 2); ptr_of_this_method = ILIntepreter.Minus(__esp, 1); ETModel.IMessage @message = (ETModel.IMessage) typeof(ETModel.IMessage).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack)); __intp.Free(ptr_of_this_method); ptr_of_this_method = ILIntepreter.Minus(__esp, 2); ETModel.Session instance_of_this_method = (ETModel.Session) typeof(ETModel.Session).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack)); __intp.Free(ptr_of_this_method); instance_of_this_method.Send(@message); return(__ret); }
public void Update() { if (this.Queue.Count == 0) { return; } SessionFrameMessage sessionFrameMessage = this.Queue.Dequeue(); this.Frame = sessionFrameMessage.FrameMessage.Frame; for (int i = 0; i < sessionFrameMessage.FrameMessage.Message.Count; ++i) { OneFrameMessage oneFrameMessage = sessionFrameMessage.FrameMessage.Message[i]; Session session = sessionFrameMessage.Session; OpcodeTypeComponent opcodeTypeComponent = session.Network.Entity.GetComponent <OpcodeTypeComponent>(); ushort opcode = (ushort)oneFrameMessage.Op; object instance = opcodeTypeComponent.GetInstance(opcode); byte[] bytes = ByteString.Unsafe.GetBuffer(oneFrameMessage.AMessage); ETModel.IMessage message = (ETModel.IMessage)session.Network.MessagePacker.DeserializeFrom(instance, bytes, 0, bytes.Length); Game.Scene.GetComponent <MessageDispatherComponent>().Handle(sessionFrameMessage.Session, new MessageInfo((ushort)oneFrameMessage.Op, message)); } }