Пример #1
0
 /// <summary>
 /// 构建一个盖亚网络系统 打包解包器实例
 /// </summary>
 public GaiaPacker(IPackerPolicy packerPolicy, IMsgDefined msgdefined)
 {
     sentBuffer        = new byte[Header.MaxPacketSize];
     compSentBuffer    = new byte[Header.MaxPacketSize];
     this.packerPolicy = packerPolicy;
     this.msgDefined   = msgdefined;
 }
Пример #2
0
        public GBoxService()
        {
            events     = new Events();
            msgDefined = new GaiaMsgDefined();

            entityDict     = new Dictionary <ulong, Entity>();
            entityTypeDict = new Dictionary <string, Type>();

            var policy = new PackerPolicy();

            policy.AddPackedPolicy(BinaryPacker.Packed);
            policy.AddPackedPolicy(ProtobufPacker.Packed);
            policy.AddUnpackedPolicy(BinaryPacker.Unpacked);
            policy.AddUnpackedPolicy(ProtobufPacker.Unpacked);

            packer = new GaiaPacker(policy, msgDefined);

            //var type = typeof(msg.Ping);
            //var msgname = type.FullName;
            //msgDefined.AddMsgDefined(msg.MsgId.PingMsgID, msgname, type);
            RegisterMsg <msg.Ping>(MsgId.PingMsgID);

            //type = typeof(Pong);
            //msgname = type.FullName;
            //msgDefined.AddMsgDefined(msg.MsgId.PongMsgID, msgname, type);
            RegisterMsg <Pong>(MsgId.PongMsgID);

            //type = typeof(RpcMsg);
            //msgname = type.FullName;
            //msgDefined.AddMsgDefined(msg.MsgId.CallMsgID, msgname, type);
            RegisterMsg <RpcMsg>(MsgId.CallMsgID);

            //type = typeof(CreateEntityNotify);
            //msgname = type.FullName;
            //msgDefined.AddMsgDefined(msg.MsgId.CreateEntityNotifyMsgID, msgname, type);
            RegisterMsg <CreateEntityNotify>(MsgId.CreateEntityNotifyMsgID, OnCreateEntity);

            RegisterRpcHandler(this);
        }