Exemplo n.º 1
0
 private ExecuteResponse.Builder GetAccountDigest(ExecuteRequest request)
 {
     ExecuteResponse.Builder builder = ExecuteResponse.CreateBuilder();
     foreach (OperationResult result in request.OperationsList.Select(operation => CreateOperationResult(operation, 1, AccountDigest.ToByteString())))
     {
         builder.AddResults(result);
     }
     return(builder);
 }
Exemplo n.º 2
0
        private static ExecuteResponse.Builder GetHeroDigest(ExecuteRequest request)
        {
            var results = new List <OperationResult>();

            foreach (Operation operation in request.OperationsList)
            {
                //var toonDigest = ToonHandle.ParseFrom(operation.RowId.Hash.ToByteArray().Skip(2).ToArray());

                OperationResult.Builder operationResult = OperationResult.CreateBuilder().SetTableId(operation.TableId);
                var value = new EntityId.Builder
                {
                    IdHigh = 0x300016200004433,
                    IdLow  = 2
                };
                operationResult.AddData(
                    Cell.CreateBuilder()
                    .SetColumnId(operation.ColumnId)
                    .SetRowId(operation.RowId)
                    .SetVersion(1)
                    .SetData(D3.Hero.Digest.CreateBuilder().SetVersion(891)
                             .SetHeroId(value)
                             .SetHeroName("hazzik")
                             .SetGbidClass(0)
                             .SetPlayerFlags(0)
                             .SetLevel(1)
                             .SetVisualEquipment(new VisualEquipment.Builder().Build())
                             .SetLastPlayedAct(0)
                             .SetHighestUnlockedAct(0)
                             .SetLastPlayedDifficulty(0)
                             .SetHighestUnlockedDifficulty(0)
                             .SetLastPlayedQuest(-1)
                             .SetLastPlayedQuestStep(-1)
                             .SetTimePlayed(0)
                             .Build()
                             .ToByteString())
                    .Build()
                    );
                results.Add(operationResult.Build());
            }

            ExecuteResponse.Builder builder = ExecuteResponse.CreateBuilder();
            foreach (OperationResult result in results)
            {
                builder.AddResults(result);
            }
            return(builder);
        }
Exemplo n.º 3
0
 public override void Execute(IRpcController controller, ExecuteRequest request, Action<ExecuteResponse> done)
 {
     ExecuteResponse.Builder response;
     switch (request.QueryName)
     {
         case "QueryAccountDigest":
             response = GetAccountDigest(request);
             break;
         case "LoadAccountDigest":
             response = LoadAccountDigest(request);
             break;
         case "GetHeroDigests":
             response = GetHeroDigest(request);
             break;
         default:
             response = new ExecuteResponse.Builder();
             break;
     }
     done(response.Build());
 }
Exemplo n.º 4
0
        public override void Execute(IRpcController controller, ExecuteRequest request, Action <ExecuteResponse> done)
        {
            ExecuteResponse.Builder response;
            switch (request.QueryName)
            {
            case "QueryAccountDigest":
                response = GetAccountDigest(request);
                break;

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

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

            default:
                response = new ExecuteResponse.Builder();
                break;
            }
            done(response.Build());
        }