public ExtendedPlayer GetPlayerByAlias(string alias) { using (var db = new FoostatsContext()) { var player = db.Players.First(x => x.DisplayName == alias); if (player == null) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { ReasonPhrase = string.Format("Player '{0}' could not be found.", alias) }); } var trueskill = db.Trueskill.Include(x => x.Player).First(x => x.Player.DisplayName == alias); trueskill.Player = null; var winloss = db.WinLoss.Include(x => x.Player).First(x => x.Player.DisplayName == alias); winloss.Player = null; var extendedPlayer = new ExtendedPlayer() { Id = player.Id, DisplayName = player.DisplayName, MutableDisplayName = player.MutableDisplayName, Password = player.Password, Salt = player.Salt, Trueskill = trueskill, WinLoss = winloss }; return(extendedPlayer); } }
public void HandlePreviewBeatmapPacket(PreviewBeatmapPacket packet, ExtendedPlayer player) { if (Utilities.Utils.LevelIdToHash(packet.levelId) != null) { PreviewBeatmapStub preview = PreviewBeatmapManager.GetPreview(packet); if (!preview.isDownloaded) { BeatmapCharacteristicSO?characteristic = _beatmapCharacteristicCollection.GetBeatmapCharacteristicBySerializedName(packet.characteristic); HMMainThreadDispatcher.instance.Enqueue(() => { base.SetPlayerBeatmapLevel(player.userId, preview, packet.difficulty, characteristic); }); } } }
public static void PrettyPrint(this ExtendedPlayer player, TextWriter outWriter = null) { if (outWriter == null) { outWriter = Console.Out; } outWriter.WriteLine("{0} ({1}):\n\tDisplay Name: {2}\n\tTrueskill: {3}\n\tWin - Loss: {4} - {5}", player.Alias, player.Id, player.MutableDisplayName, player.Trueskill.ConservativeRating, player.WinLoss.Win, player.WinLoss.Loss); }
/// <summary> /// Process action. /// </summary> /// <param name="protocol"></param> public void ProcessInput(Protocol.Protocol protocol, int playerId) { // Get player ExtendedPlayer player = _Players.FirstOrDefault(p => p.Player.Id == playerId); switch (protocol.Action) { case Protocol.Action.ACT_DOWN: if (player.Direction == Direction.Up) { break; } player.Direction = Direction.Down; break; case Protocol.Action.ACT_JUMP: if (player.Jumping == 0) { player.Jumping = _JumpLength; player.Player.Position.Jumping = true; } break; case Protocol.Action.ACT_LEFT: if (player.Direction == Direction.Right) { break; } player.Direction = Direction.Left; break; case Protocol.Action.ACT_RIGHT: if (player.Direction == Direction.Left) { break; } player.Direction = Direction.Right; break; case Protocol.Action.ACT_UP: if (player.Direction == Direction.Down) { break; } player.Direction = Direction.Up; break; } }
/// <summary> /// Reguster player. /// </summary> /// <returns>Start position.</returns> public void RegisterPlayer(Protocol.Player player) { ExtendedPlayer extendedPlayer = new ExtendedPlayer(player); extendedPlayer.Death = false; extendedPlayer.Length = 0; Position position = new Position(); int halfSize = _FliedSize / 2; switch (_Starter) { case 0: position.X = halfSize + (_PlayerSize / 2); position.Y = 0; extendedPlayer.Direction = Direction.Up; break; case 1: position.X = _PlayerSize; position.Y = halfSize - (_PlayerSize / 2); extendedPlayer.Direction = Direction.Right; break; case 2: position.X = _FliedSize - _PlayerSize; position.Y = halfSize - (_PlayerSize / 2); extendedPlayer.Direction = Direction.Left; break; case 3: position.X = halfSize + (_PlayerSize / 2); position.Y = _FliedSize; extendedPlayer.Direction = Direction.Down; break; default: break; } _Starter++; player.Position = position; _Players.Add(extendedPlayer); return; }
private void HandleExtendedPlayerConnected(ExtendedPlayer player) => SetPlayerPlaceColor(player, player.playerColor);
private void HandlePlayerStateChanged(ExtendedPlayer player) { HarmonyPatches.GameServerPlayerTableColor.UpdateColor(player); }