Exemplo n.º 1
0
        public override void Execute(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.storage.ExecuteRequest request, System.Action <bnet.protocol.storage.ExecuteResponse> done)
        {
            Logger.Trace("Execute() {0}", this.Client);
            bnet.protocol.storage.ExecuteResponse response = null;
            switch (request.QueryName)
            {
            case "GetGameAccountSettings":
                response = GameAccountSettings(request);
                break;

            case "LoadAccountDigest":
                response = LoadAccountDigest(Client, request);
                break;

            case "GetHeroDigests":
                response = GetHeroDigest(Client, request);
                break;

            case "GetToonSettings":
                response = GetToonSettings(request);
                break;

            default:
                Logger.Warn("Unhandled query: {0}", request.QueryName);
                response = bnet.protocol.storage.ExecuteResponse.CreateBuilder().Build();
                break;
            }

            done(response);
        }
Exemplo n.º 2
0
        public void ExecuteRequest(IClient client, Packet packetIn)
        {
            Logger.Trace("RPC:Storage:ExecuteRequest()");
            var request = bnet.protocol.storage.ExecuteRequest.ParseFrom(packetIn.Payload.ToArray());

            //Logger.Debug("request:\n{0}", request.ToString());

            bnet.protocol.storage.ExecuteResponse response = null;
            switch (request.QueryName)
            {
            case "GetGameAccountSettings":
                response = GameAccountSettings(request);
                break;

            case "LoadAccountDigest":
                response = LoadAccountDigest(request);
                break;

            case "GetHeroDigests":
                response = GetHeroDigest(request);
                break;

            case "GetToonSettings":
                response = GetToonSettings(request);
                break;

            default:
                Logger.Warn("Unhandled ExecuteRequest: {0}", request.QueryName);
                break;
            }

            var packet = new Packet(
                new Header(0xfe, 0x0, packetIn.Header.RequestID, (uint)response.SerializedSize),
                response.ToByteArray());

            client.Send(packet);
        }