public static void StepNext() { NextRequest nextRequest = new NextRequest(); nextRequest.arguments.threadId = threadId; Assert.True(VSCodeDebugger.Request(nextRequest).Success); }
public void ExecuteCommand(IConnection connection, AsyncBinaryCommandInfo request) { try { if (request.Buffer == null || request.Buffer.Length == 0) { // do some logging here connection.BeginDisconnect(); return; } NextRequest nr = request.Buffer.Deserialize <NextRequest>(); NextResponse response = new NextResponse(); for (var i = 0; i < nr.Count; i++) { response.Sequence.Add(Generation.Next()); } // get from protocol buffers request.Reply(connection, response.Serialize()); } catch (Exception exp) { Console.ForegroundColor = ConsoleColor.Red; Console.Error.WriteLine(exp.Message); Console.Error.WriteLine(exp.StackTrace); Console.ForegroundColor = ConsoleColor.Gray; } }
public void StepOver(string caller_trace) { NextRequest nextRequest = new NextRequest(); nextRequest.arguments.threadId = threadId; Assert.True(VSCodeDebugger.Request(nextRequest).Success, @"__FILE__:__LINE__" + "\n" + caller_trace); }
protected override bool canUse(Game game, Request nowRequest, FreeUse useInfo, out NextRequest nextRequest) { nextRequest = new NextRequest() { RequestInfo = "无法主动打出" }; return(false); }
public Task <long> NextAsync() { var request = new NextRequest(); return(_socket.Send("next", request.Serialize(), data => data.Buffer.Deserialize <NextResponse>()) .ContinueWith(t => { return t.Result.Sequence.FirstOrDefault(); })); }
public Task <List <long> > NextAsync(int count) { var request = new NextRequest(count); return(_socket.Send("next", request.Serialize(), data => data.Buffer.Deserialize <NextResponse>()) .ContinueWith(t => { return t.Result.Sequence; })); }
protected override bool canUse(Game game, Request nowRequest, FreeUse useInfo, out NextRequest nextRequest) { if (nowRequest is FreeUseRequest) { nextRequest = new NextRequest() { RequestInfo = "无法主动打出" }; return(false); } return(base.canUse(game, nowRequest, useInfo, out nextRequest)); }
public async Task NextAsync(string gameId, string token) { try { var request = new NextRequest { GameId = gameId, }; await _client.NextAsync(request, CreateHeader(token)); } catch (RpcException ex) { throw JinrouExceptionMapper.Transform(ex); } catch { throw; } }
public bool CanUse(Game game, Request nowRequest, FreeUse useInfo, out NextRequest nextRequest) { NextRequest request; bool result = canUse(game, nowRequest, useInfo, out request); EventData <bool> boolData = new EventData <bool>() { data = result }; EventData <NextRequest> nextRequestData = new EventData <NextRequest>() { data = request }; Task task = game.EventSystem.Call(EventEnum.onCheckCanUse, game.ActivePlayerSeat(), this, boolData, nextRequestData); if (!task.GetAwaiter().IsCompleted) { Log.Error($"EventEnum.onCheckCanUse必须同步运行"); nextRequest = request; return(result); } task.GetAwaiter().GetResult(); nextRequest = nextRequestData.data; return(boolData.data); }
protected override bool canUse(Game game, Request nowRequest, FreeUse useInfo, out NextRequest nextRequest) { nextRequest = null; if (!turnLimit.CanUse()) { return(false); } if (useInfo.Source.Count != 1) { nextRequest = new CardChooseRequest() { }; return(false); } else { return(true); } }
protected override bool canUse(Game game, Request nowRequest, FreeUse useInfo, out NextRequest nextRequest) { nextRequest = null; switch (nowRequest) { case UseLimitCard useLimitCard: return(Effects.UseWayResponse.CheckLimit(game, useLimitCard, useInfo, ref nextRequest, this)); case FreeUseRequest freeUse: if (useInfo.PlayersId.Count < 1) { nextRequest = new HeroChooseRequest() { }; return(false); } else { return(true); } } return(false); }
protected override bool canUse(Game game, Request nowRequest, FreeUse useInfo, out NextRequest nextRequest) { nextRequest = null; return(true); }
protected override bool canUse(Game game, Request nowRequest, FreeUse useInfo, out NextRequest nextRequest) { if (useInfo.PlayersId.Count < 1) { nextRequest = new HeroChooseRequest(); return(false); } return(base.canUse(game, nowRequest, useInfo, out nextRequest)); }
protected override bool canUse(Game game, Request nowRequest, FreeUse useInfo, out NextRequest nextRequest) { if (useInfo.PlayersId.Count < 1) { nextRequest = new HeroChooseRequest(); return false; } else { nextRequest = null; return true; } }
protected override bool canUse(Game game, Request nowRequest, FreeUse useInfo, out NextRequest nextRequest) { if (game.UsedEventDeck.Count < 1) { nextRequest = null; return(false); } return(base.canUse(game, nowRequest, useInfo, out nextRequest)); }
protected override bool canUse(Game game, Request nowRequest, FreeUse useInfo, out NextRequest nextRequest) { //throw new NotImplementedException(); nextRequest = null; return(true); }
/// <summary> /// 能否使用卡牌,默认没有任何条件,但是会对要求使用特定类型卡片的情况进行检查,所以在重写该方法的时候除了特殊情况应该返回base.canUse /// </summary> /// <param name="game"></param> /// <param name="nowRequest"></param> /// <param name="useInfo"></param> /// <param name="nextRequest"></param> /// <returns></returns> protected virtual bool canUse(Game game, Request nowRequest, FreeUse useInfo, out NextRequest nextRequest) { nextRequest = null; switch (nowRequest) { case UseLimitCardRequest useLimitCard: return(Effects.UseWayResponse.CheckLimit(game, useLimitCard, useInfo, ref nextRequest, game.GetCard(useInfo.Source[0]))); case FreeUseRequest _: return(true); } return(false); }
protected override bool canUse(Game game, Request nowRequest, FreeUse useInfo, out NextRequest nextRequest) { if (_changeTarget == null) { nextRequest = null; return(false); } else { return(_changeTarget.CanUse(game, nowRequest, useInfo, out nextRequest)); } }
protected override bool canUse(Game game, Request nowRequest, FreeUse useInfo, out NextRequest nextRequest) { nextRequest = null; switch (nowRequest) { case UseLimitCard useLimitCard: return(Effects.UseWayResponse.CheckLimit(game, useLimitCard, useInfo, ref nextRequest, this)); case FreeUseRequest _: return(true); } return(false); }
protected abstract bool canUse(Game game, Request nowRequest, FreeUse useInfo, out NextRequest nextRequest);
/// <summary> /// 被要求使用指定卡时的使用返回 /// </summary> /// <param name="game"></param> /// <param name="useLimt"></param> /// <param name="useInfo"></param> /// <param name="nextRequest"></param> /// <param name="card"></param> /// <returns></returns> public static bool CheckLimit(Game game, UseLimitCard useLimt, FreeUse useInfo, ref NextRequest nextRequest, Card card) { if (useLimt.CardType != CardHelper.getId(card)) { return(false); } else { if (useInfo.Source.Count != 1) { nextRequest = new CardChooseRequest() { RequestInfo = TipHelper.GetText("UseLimitTip", card.Name), }; return(false); } else { return(true); } } }
protected override bool canUse(Game game, Request nowRequest, FreeUse useInfo, out NextRequest nextRequest) { if (nowRequest is FreeUseRequest && useInfo.PlayersId.Count < 1) { nextRequest = new HeroChooseRequest() { PlayerId = useInfo.PlayerId, Number = 1, RequestInfo = "选择目标玩家" }; return(false); } return(base.canUse(game, nowRequest, useInfo, out nextRequest)); }