public Ticket(IPlayerInfo holder, DateTime draw, int[] numbers, decimal value) { _numbers = new int[numbers.Length]; System.Array.Copy(numbers, _numbers, numbers.Length); _holder = holder; _value = value; _open = true; _winnings = 0; _drawDate = draw; }
public ImposeTaskHelper(IPacketWriter writer, IPlayerInfo info, ImposeInfo impose) { this.writer = writer; this.info = info; this.impose = impose; }
public ServerGameConfiguration(IPlayerInfo a, IPlayerInfo b) { this.PlayerA = a; this.PlayerB = b; }
public override Task OnActivateAsync() { _playerInfo = PlayerHelper.ParseKey(this.GetPrimaryKeyString()); return(Task.CompletedTask); }
public PlayerInfoProcessor(IPlayerInfo info) { playerInfo = info; }
public void SetInfoModel(IPlayerInfo model) { infoModel = model; }
public PlayerInfoViewModel(IPlayerInfo info) { playerInfo = info; }
public Player(string name, string type, int initialHitPoints, double baseDamage, ITacticsInfo tactics) { Info = new PlayerInfo(name, type, initialHitPoints, baseDamage); _tactics = tactics; Reset(); }
public UpgradeTaskHelper(IPacketWriter writer, IPlayerInfo info, UpgradeInfo upgrade) { this.writer = writer; this.info = info; this.upgrade = upgrade; }
public void AddPlayerInfo(string token, IPlayerInfo playerInfo) { _token2UserInfo[token] = playerInfo; }
public override void Reset() { base.Reset(); PlayerInfo = null; }
private PlayerData CoercePlayer(IPlayerInfo player) => GameData.Players.Single(_ => _.Identifier == player.Identifier);
private void GroupRank(List <IPlayerInfo> players, IPlayerInfo playerInfo, bool rescue) { if (players.Count <= 1) { return; } players.Sort((x, y) => { var xStat = x.StatisticsData; var yStat = y.StatisticsData; if (rescue) { if (xStat.HitDownCount < yStat.HitDownCount) { return(1); } if (xStat.HitDownCount > yStat.HitDownCount) { return(-1); } if (xStat.DeadCount > yStat.DeadCount) { return(1); } if (xStat.DeadCount < yStat.DeadCount) { return(-1); } if (xStat.SaveCount > yStat.SaveCount) { return(-1); } if (xStat.SaveCount < yStat.SaveCount) { return(1); } if (xStat.TotalDamage > yStat.TotalDamage) { return(-1); } if (xStat.TotalDamage < yStat.TotalDamage) { return(1); } if (xStat.LastKillTime < yStat.LastKillTime) { return(-1); } if (xStat.LastKillTime > yStat.LastKillTime) { return(1); } if ((xStat.LastDeadTime == 0 && yStat.LastDeadTime != 0) || (xStat.LastDeadTime > yStat.LastDeadTime && yStat.LastDeadTime != 0)) { return(-1); } if ((xStat.LastDeadTime != 0 && yStat.LastDeadTime == 0) || (xStat.LastDeadTime < yStat.LastDeadTime && xStat.LastDeadTime != 0)) { return(1); } return(0); } else { if (xStat.KillCount < yStat.KillCount) { return(1); } if (xStat.KillCount > yStat.KillCount) { return(-1); } if (xStat.DeadCount > yStat.DeadCount) { return(1); } if (xStat.DeadCount < yStat.DeadCount) { return(-1); } if (xStat.AssistCount > yStat.AssistCount) { return(-1); } if (xStat.AssistCount < yStat.AssistCount) { return(1); } if (xStat.TotalDamage > yStat.TotalDamage) { return(-1); } if (xStat.TotalDamage < yStat.TotalDamage) { return(1); } if (xStat.LastKillTime < yStat.LastKillTime) { return(-1); } if (xStat.LastKillTime > yStat.LastKillTime) { return(1); } if ((xStat.LastDeadTime == 0 && yStat.LastDeadTime != 0) || (xStat.LastDeadTime > yStat.LastDeadTime && yStat.LastDeadTime != 0)) { return(-1); } if ((xStat.LastDeadTime != 0 && yStat.LastDeadTime == 0) || (xStat.LastDeadTime < yStat.LastDeadTime && xStat.LastDeadTime != 0)) { return(1); } return(0); } }); for (int i = 0; i < players.Count; i++) { players[i].StatisticsData.Rank = players[i].StatisticsData.IsRunaway ? players.Count : i + 1; if (players[i].PlayerId == playerInfo.PlayerId) { playerInfo.StatisticsData.Rank = players[i].StatisticsData.Rank; } } }
private void SurvivalRank(List <IPlayerInfo> players, Dictionary <long, GameOverPlayer> goPlayerList, IEventArgs args, IPlayerInfo playerInfo) { if (players.Count < 1) { return; } long chickenTeamId = -1L; Dictionary <long, int> teamDeadDict = new Dictionary <long, int>(); Dictionary <long, int> teamRankDict = new Dictionary <long, int>(); foreach (IPlayerInfo ipi in players) { if (!ipi.StatisticsData.IsRunaway && ipi.StatisticsData.LastDeadTime <= 0L) { //和谐模式下,胜出5人不参与排序 if (!SharedConfig.IsHXMod && FreeUtil.ReplaceBool("{hasWin}", args)) { //没有逃跑且没有死亡->吃鸡 chickenTeamId = ipi.TeamId; } } if (teamDeadDict.ContainsKey(ipi.TeamId)) { if (ipi.StatisticsData.LastDeadTime > teamDeadDict[ipi.TeamId]) { teamDeadDict[ipi.TeamId] = (int)ipi.StatisticsData.LastDeadTime; } } else { teamDeadDict.Add(ipi.TeamId, (int)ipi.StatisticsData.LastDeadTime); } } //队伍总数 int teamCount = teamDeadDict.Count; teamRankDict.Add(chickenTeamId, 1); if (chickenTeamId != -1) { teamDeadDict.Remove(chickenTeamId);//去掉吃鸡队伍 } int rank = 1; //剩下队伍按最后死亡时间排序 teamDeadDict = teamDeadDict.OrderByDescending(o => o.Value).ToDictionary(p => p.Key, o => o.Value); foreach (var deadPair in teamDeadDict) { teamRankDict.Add(deadPair.Key, ++rank); } foreach (IPlayerInfo ipi in players) { if (ipi.StatisticsData.Rank != 1) { if (ipi.StatisticsData.IsRunaway) { ipi.StatisticsData.Rank = teamCount; } else { if (FreeUtil.ReplaceBool("{hasWin}", args)) { ipi.StatisticsData.Rank = teamRankDict[ipi.TeamId]; } else if (ipi.StatisticsData.LastDeadTime != 0L) { ipi.StatisticsData.Rank = teamRankDict[ipi.TeamId] - 1; } } } Logger.InfoFormat("player id {0} should be rank {1} in total team {2}, game has win ? {3}", ipi.PlayerId, ipi.StatisticsData.Rank, teamCount, FreeUtil.ReplaceBool("{hasWin}", args)); if (ipi.PlayerId == playerInfo.PlayerId) { playerInfo.StatisticsData.Rank = ipi.StatisticsData.Rank; } GameOverPlayer gop; goPlayerList.TryGetValue(ipi.PlayerId, out gop); if (gop != null) { gop.Statistics[(int)EStatisticsID.Rank] = ipi.StatisticsData.Rank; gop.Statistics[(int)EStatisticsID.RankAce] = ipi.StatisticsData.Rank == 1 ? 1 : 0; gop.Statistics[(int)EStatisticsID.RankTen] = ipi.StatisticsData.Rank <= 10 ? 1 : 0; } } }
public override void SetStatisticData(GameOverPlayer gameOverPlayer, IPlayerInfo playerInfo, IFreeArgs freeArgs) { gameOverPlayer.Id = playerInfo.PlayerId; if (null == playerInfo.StatisticsData) { Logger.Error("player's statisticsData is null "); return; } gameOverPlayer.Score = playerInfo.StatisticsData.KillCount; foreach (EStatisticsID eId in Enum.GetValues(typeof(EStatisticsID))) { gameOverPlayer.Statistics.Add((int)eId, 0); } gameOverPlayer.Statistics[(int)EStatisticsID.KillCount] = playerInfo.StatisticsData.KillCount; gameOverPlayer.Statistics[(int)EStatisticsID.HitDownCount] = playerInfo.StatisticsData.HitDownCount; gameOverPlayer.Statistics[(int)EStatisticsID.PlayerDamage] = (int)playerInfo.StatisticsData.PlayerDamage; gameOverPlayer.Statistics[(int)EStatisticsID.TotalDamage] = (int)playerInfo.StatisticsData.TotalDamage; gameOverPlayer.Statistics[(int)EStatisticsID.ShootingCount] = playerInfo.StatisticsData.ShootingCount; gameOverPlayer.Statistics[(int)EStatisticsID.ShootingSuccCount] = playerInfo.StatisticsData.ShootingSuccCount; gameOverPlayer.Statistics[(int)EStatisticsID.ShootingPlayerCount] = playerInfo.StatisticsData.ShootingPlayerCount; gameOverPlayer.Statistics[(int)EStatisticsID.CritCount] = playerInfo.StatisticsData.CritCount; gameOverPlayer.Statistics[(int)EStatisticsID.TotalMoveDistance] = (int)playerInfo.StatisticsData.TotalMoveDistance; gameOverPlayer.Statistics[(int)EStatisticsID.VehicleMoveDistance] = (int)playerInfo.StatisticsData.VehicleMoveDistance; gameOverPlayer.Statistics[(int)EStatisticsID.AssistCount] = playerInfo.StatisticsData.AssistCount; gameOverPlayer.Statistics[(int)EStatisticsID.CureVolume] = (int)playerInfo.StatisticsData.CureVolume; gameOverPlayer.Statistics[(int)EStatisticsID.AccSpeedTime] = playerInfo.StatisticsData.AccSpeedTime; gameOverPlayer.Statistics[(int)EStatisticsID.SaveCount] = playerInfo.StatisticsData.SaveCount; gameOverPlayer.Statistics[(int)EStatisticsID.TotalBeDamage] = (int)playerInfo.StatisticsData.TotalBeDamage; gameOverPlayer.Statistics[(int)EStatisticsID.DefenseDamage] = (int)playerInfo.StatisticsData.DefenseDamage; gameOverPlayer.Statistics[(int)EStatisticsID.DeadCount] = playerInfo.StatisticsData.DeadCount; gameOverPlayer.Statistics[(int)EStatisticsID.KillDistance] = (int)playerInfo.StatisticsData.MaxKillDistance; gameOverPlayer.Statistics[(int)EStatisticsID.DestroyVehicle] = playerInfo.StatisticsData.DestroyVehicle; gameOverPlayer.Statistics[(int)EStatisticsID.UseThrowingCount] = playerInfo.StatisticsData.UseThrowingCount; gameOverPlayer.Statistics[(int)EStatisticsID.IsFullArmed] = playerInfo.StatisticsData.IsFullArmed ? 1 : 0; gameOverPlayer.Statistics[(int)EStatisticsID.EvenKillCount] = playerInfo.StatisticsData.MaxEvenKillCount; gameOverPlayer.Statistics[(int)EStatisticsID.SwimTime] = playerInfo.StatisticsData.SwimTime; gameOverPlayer.Statistics[(int)EStatisticsID.Drown] = playerInfo.StatisticsData.Drown ? 1 : 0; gameOverPlayer.Statistics[(int)EStatisticsID.PoisionDead] = playerInfo.StatisticsData.PoisionDead ? 1 : 0; gameOverPlayer.Statistics[(int)EStatisticsID.DropDead] = playerInfo.StatisticsData.DropDead ? 1 : 0; gameOverPlayer.Statistics[(int)EStatisticsID.KillByVehicle] = playerInfo.StatisticsData.KillByVehicle ? 1 : 0; gameOverPlayer.Statistics[(int)EStatisticsID.KillByPlayer] = playerInfo.StatisticsData.KillByPlayer ? 1 : 0; gameOverPlayer.Statistics[(int)EStatisticsID.KillByAirBomb] = playerInfo.StatisticsData.KillByAirBomb ? 1 : 0; gameOverPlayer.Statistics[(int)EStatisticsID.KillByRifle] = playerInfo.StatisticsData.KillWithRifle; gameOverPlayer.Statistics[(int)EStatisticsID.KillByMachineGun] = playerInfo.StatisticsData.KillWithMachineGun; gameOverPlayer.Statistics[(int)EStatisticsID.KillBySubMachineGun] = playerInfo.StatisticsData.KillWithSubmachineGun; gameOverPlayer.Statistics[(int)EStatisticsID.KillByThrowWeapon] = playerInfo.StatisticsData.KillWithThrowWeapon; gameOverPlayer.Statistics[(int)EStatisticsID.KillByMelee] = playerInfo.StatisticsData.KillWithMelee; gameOverPlayer.Statistics[(int)EStatisticsID.KillByPistol] = playerInfo.StatisticsData.KillWithPistol; gameOverPlayer.Statistics[(int)EStatisticsID.KillBySniper] = playerInfo.StatisticsData.KillWithSniper; gameOverPlayer.Statistics[(int)EStatisticsID.KillByShotGun] = playerInfo.StatisticsData.KillWithShotGun; gameOverPlayer.Statistics[(int)EStatisticsID.GameTime] = playerInfo.StatisticsData.GameTime; gameOverPlayer.Statistics[(int)EStatisticsID.GameCount] = playerInfo.StatisticsData.IsRunaway ? 0 : 1; gameOverPlayer.Statistics[(int)EStatisticsID.CritKillCount] = playerInfo.StatisticsData.CritKillCount; gameOverPlayer.Statistics[(int)EStatisticsID.GetFirstBlood] = playerInfo.StatisticsData.GetFirstBlood ? 1 : 0; if (((PlayerEntity)playerInfo.PlayerEntity).gamePlay.LifeState != (int)EPlayerLifeState.Alive) { playerInfo.StatisticsData.DeadTime += (int)System.DateTime.Now.Ticks / 10000 - playerInfo.StatisticsData.LastDeadTime; } gameOverPlayer.Statistics[(int)EStatisticsID.DeadTime] = playerInfo.StatisticsData.DeadTime; AddHonorData(gameOverPlayer, playerInfo); PlayerReportTrigger(gameOverPlayer, playerInfo, freeArgs); }
public ImproveTaskHelper(IPacketWriter writer, IPlayerInfo info, Barracks barracks) { this.writer = writer; this.info = info; this.barracks = barracks; }
public void AddPlayerInfo(string token, IPlayerInfo playerInfo) { _playerInfoManager.AddPlayerInfo(token, playerInfo); }
public bool LoginPlayer(IPlayerInfo playerInfo, INetworkChannel channel) { MessageDispatcher.SaveDispatch(channel, (int)EClient2ServerMessage.LocalLogin, playerInfo); return(true); }
private void SetGameOverPlayerValue(GameOverPlayer gameOverPlayer, IPlayerInfo player) { _gameStatisticData.SetStatisticData(gameOverPlayer, player, _contexts.session.commonSession.FreeArgs); }
public virtual void SetStatisticData(GameOverPlayer gameOverPlayer, IPlayerInfo player, IFreeArgs freeArgs) { }
public void SetInfoModel(IPlayerInfo info) { infoModel = info; }
/// <summary> /// Shorthand way to get a player's GUID. /// </summary> /// <param name="player">Player</param> /// <returns>Guid</returns> public static Guid AsGuid(this IPlayerInfo player) { return(player?.Identifier ?? Guid.Empty); }
/// <summary> /// Shorthand way to see if players have the same GUID. /// </summary> /// <param name="player">First player</param> /// <param name="other">Second player</param> /// <returns>True if same identifier.</returns> public static bool HasSameIdentifierAs(this IPlayerInfo player, IPlayerInfo other) { return(player != null && other != null && player.Identifier == other.Identifier); }
public void AddPlayerInfo(string token, IPlayerInfo room) { _token2UserInfo[token] = room; }