From da477d9123aa3488eb8da1a3d87449bd50e0a39a Mon Sep 17 00:00:00 2001 From: H C <1674771+hcarver@users.noreply.github.com> Date: Fri, 10 Apr 2020 21:10:57 +0100 Subject: [PATCH] Only allow laying track when it's legal to. Fixes #13. --- assets/js/view/hex.rb | 2 ++ lib/engine/round/operating.rb | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/assets/js/view/hex.rb b/assets/js/view/hex.rb index 9e53327dc4..62e5896e8e 100644 --- a/assets/js/view/hex.rb +++ b/assets/js/view/hex.rb @@ -41,6 +41,8 @@ def render children << h(Tile, tile: @tile) if @tile children << h(View::TriangularGrid) if @show_grid layable = @round.layable_hexes.key?(@hex) if @round.respond_to?(:layable_hexes) + layable &&= @round.can_lay_track? if @round.respond_to?(:can_lay_track?) + clickable = layable || @role == :tile_selector props = { diff --git a/lib/engine/round/operating.rb b/lib/engine/round/operating.rb index 995aac6097..f8a17ec8a3 100644 --- a/lib/engine/round/operating.rb +++ b/lib/engine/round/operating.rb @@ -96,6 +96,10 @@ def can_sell?(shares) remaining >= next_highest end + def can_lay_track? + @step == :track + end + def next_step! current_index = self.class::STEPS.find_index(@step)