/* * Алгоритм хода фигуры. * Принимаем шашку, которой необходимо сходить, и координаты клетки хода. * row < 8 и column < 8 (размеры поля) * Наше поле знает, как обновлять View при изменении модели поля(Active View) */ public void Move(Checker checker, int row, int column) { if (checker == null) { return; } if (checker.Color == CurrentStepColor) { var result = SelectedChecker.TryToMove(row, column); if (result == MovesType.Attack) { if (!checker.CanEat().res) { CurrentStepColor = checker.Color == CheckerColor.White ? CheckerColor.Black : CheckerColor.White; } else { CurrentStepColor = checker.Color; } } else if (result == MovesType.Default) { CurrentStepColor = checker.Color == CheckerColor.White ? CheckerColor.Black : CheckerColor.White; } if (result != MovesType.None) { SelectedChecker = Board.Tiles[row, column].Checker; FieldUpdated?.Invoke(); } } }
public void On(FieldUpdated @event, EnvelopeHeaders headers) { UpdateSchema(@event, headers, s => { s.SchemaDef = s.SchemaDef.Apply(@event); }); }
public static void Apply(this Schema schema, FieldUpdated @event) { if (schema.FieldsById.TryGetValue(@event.FieldId.Id, out var field)) { field.Update(@event.Properties); } }
protected Task On(FieldUpdated @event, EnvelopeHeaders headers) { return(UpdateSchemaAsync(@event, headers, s => { s.SchemaDef.Apply(@event); })); }
private void RemoveShippingHandlers() { RowInserted.RemoveHandler <POOrder>(POOrder_RowInserted); FieldUpdated.RemoveHandler <POOrder.shipDestType>(POOrder_ShipDestType_FieldUpdated); FieldUpdated.RemoveHandler <POOrder.siteID>(POOrder_SiteID_FieldUpdated); FieldUpdated.RemoveHandler <POOrder.shipToLocationID>(POOrder_ShipToLocationID_FieldUpdated); }
private void ClearCell(int x, int y) { if (IsCellFilled(x, y)) { field[x, y] = noneColor; } buffer.Clear(); FieldUpdated?.Invoke(); }
public DiscrepancyEnqGraphBase() { Rows.Cache.AllowDelete = false; Rows.Cache.AllowInsert = false; Rows.Cache.AllowUpdate = false; RowUpdated.AddHandler(typeof(TEnqFilter), FilterRowUpdated); FieldUpdated.AddHandler(typeof(TEnqFilter), typeof(DiscrepancyEnqFilter.periodFrom).Name, PeriodFromFieldUpdated); FieldUpdated.AddHandler(typeof(TEnqFilter), typeof(DiscrepancyEnqFilter.periodTo).Name, PeriodToFieldUpdated); }
public bool Deploy(Point point, Color color) { if (color == noneColor || !IsCellFree(point)) { return(false); } field[point.X, point.Y] = color; buffer.Clear(); FieldUpdated?.Invoke(); return(true); }
/// <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); }
protected void On(FieldUpdated @event) { SchemaDef = SchemaDef.UpdateField(@event.FieldId.Id, @event.Properties, @event.ParentFieldId?.Id); }
public void LoadFromState(GameState state) { field = state.Field; FieldUpdated?.Invoke(); }
public static Schema Dispatch(FieldUpdated @event, Schema schema) { return(schema.UpdateField(@event.FieldId.Id, @event.Properties)); }
protected void On(FieldUpdated @event) { schema = SchemaEventDispatcher.Dispatch(@event, schema); }
protected Task On(FieldUpdated @event, EnvelopeHeaders headers) { return(UpdateSchema(@event, headers, s => SchemaEventDispatcher.Dispatch(@event, s))); }
protected void On(FieldUpdated @event) { schema = schema.Apply(@event); }
protected override void MarkCell(int x, int y, Player player) { base.MarkCell(x, y, player); FieldUpdated?.Invoke(GetField()); }
protected void On(FieldUpdated @event, FieldRegistry registry) { SchemaDef = SchemaDef.UpdateField(@event.FieldId.Id, @event.Properties); }
public static Schema Apply(this Schema schema, FieldUpdated @event) { return(schema.UpdateField(@event.FieldId.Id, @event.Properties)); }