public override bool TakeAction() { if (!PVPLogic.StopSingleMatch(m_UserId)) { ErrorCode = (int)ErrorType.CannotStopMatching; ErrorInfo = "You have already matched"; return(false); } return(true); }
public override bool TakeAction() { if (!PVPLogic.IsOpen(m_UserId)) { ErrorCode = (int)ErrorType.ActivityNotOpenNow; ErrorInfo = "Single pvp is not open now"; return(false); } PVPLogic.StartSingleMatch(m_UserId); return(true); }
protected override void OnDisconnected(GameSession session) { if (session.UserId != 0) { PlayerLogic p = new PlayerLogic(); p.SetUser(session.UserId); p.OffLine(); PVPLogic.StopSingleMatch(session.UserId); PlayerArenaLogic pa = new PlayerArenaLogic(); pa.SetUser(session.UserId); if (pa.MyArena.EnemyId > 0) { int token; pa.EndBattle(pa.MyArena.EnemyId, false, false, out token); } } base.OnDisconnected(session); TraceLog.ReleaseWrite("Client '{0}' disconnect OK.", session.RemoteAddress); }
public override bool TakeAction() { PlayerSinglePvpLogic psp = new PlayerSinglePvpLogic(); psp.SetUser(m_UserId); var rank = RankingFactory.Get <SinglePvpRankUser>("SinglePvpRanking").Find(u => u.UserId == m_UserId); if (rank == null) { m_ResponsePacket.Score = 0; m_ResponsePacket.Rank = -1; } else { m_ResponsePacket.Score = rank.Score; m_ResponsePacket.Rank = rank.RankId; } m_ResponsePacket.ChallengeCount = psp.MyPvp.RemainingCount; m_ResponsePacket.Season = PVPLogic.GetSeasonId(); return(true); }