private void FireSignalfNeeded(Direction direction) { Position position = player.Position.Offset(direction); if (!field.IsPositionValid(position)) { return; } verticalFlickGesture.Flicked -= VerticalFlickGestureFlicked; horizontalFlickGesture.Flicked -= HorizontalFlickGestureFlicked; playerTurnSignal.Fire( moveTurnActionFactory.Create(player, position)); }
private void TapGestureTapped(object sender, System.EventArgs e) { Position position = positionScreenPointMapper.ScreenPointToPosition( tapGesture.ScreenPosition); Character player = field.Player; if (!field.IsPositionValid(position) || !player.Position.IsNeightbourWith(position)) { return; } tapGesture.Tapped -= TapGestureTapped; playerTurnSignal.Fire( moveTurnActionFactory.Create(player, position)); }