private void LogSteps(FieldInfoArgs args) { var turnChar = args.TurnColor.Invert().ToString().First(); string step = $"{turnChar}: {args.FromPoint}-{args.ToPoint}"; GameLog = $"{GameLog}{step}; "; }
private void OnFieldUpdated(object sender, FieldInfoArgs args) { var field = args.VirtualField.ToMultiDimensionalArray(); GameField = new VirtualField(field, args.PlayerColor); TurnColor = args.TurnColor; MasterFactory.CheckedPlayer = args.CheckedPlayer; LogSteps(args); }
/// <inheritdoc/> public void GameHasEnded(WcfGameInfo gameInfo, WcfChessPoint from, WcfChessPoint to) { var args = new FieldInfoArgs( gameInfo.GameField, gameInfo.TurnColor, @from.ToBusiness(), to.ToBusiness(), gameInfo.PlayerColor, null); FieldUpdated?.Invoke(this, args); GameEnded?.Invoke(this, new GameEndedArgs(gameInfo.WinnerColor)); }
/// <inheritdoc/> public void GameFieldUpdated( ChessPiece[][] virtualField, PlayerColor turnColor, WcfChessPoint from, WcfChessPoint to, PlayerColor playerColor, PlayerColor?checkedPlayer) { var args = new FieldInfoArgs( virtualField, turnColor, from.ToBusiness(), to.ToBusiness(), playerColor, checkedPlayer); FieldUpdated?.Invoke( this, args); }