online multiplayer chess game (note server currently down)
Diffstat (limited to 'Square.gd')
| -rw-r--r-- | Square.gd | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/Square.gd b/Square.gd deleted file mode 100644 index 754ec0a..0000000 --- a/Square.gd +++ /dev/null @@ -1,70 +0,0 @@ -extends ColorRect -class_name BackgroundSquare - -# warning-ignore-all:unused_signal -signal clicked -signal right_clicked - -var move_indicators := [] -var square: String - -onready var circle: TextureRect = $Circle -onready var move_indicator: ColorRect = $MoveIndicator -onready var premove_indicator: ColorRect = $PremoveIndicator - -var b - - -func _ready() -> void: - move_indicator.color = b.last_move_indicator_color - premove_indicator.color = b.premove_color - mouse_default_cursor_shape = CURSOR_FORBIDDEN if b.spectating else CURSOR_POINTING_HAND - Events.connect("turn_over", self, "clear_move_indicators") - - -func check_piece_above() -> bool: - return is_instance_valid(b.get_piece(square)) - - -func _gui_input(event: InputEvent): - if !b.spectating and event is InputEventMouseButton and event.pressed: - emit_signal("clicked" if event.button_index == BUTTON_LEFT else "right_clicked") - get_tree().set_input_as_handled() - - -func _focus_exited(): - clear_move_indicators() - - -func clear_move_indicators(): - if check_piece_above(): - b.get_piece(square).background.hide() - for m in move_indicators: - if is_instance_valid(m): - m.hide() - move_indicators.clear() - - -func show_move_indicators(): - clear_move_indicators() - var p = b.get_piece(square) - p.background.show() - var movs = b.chess.__generate_moves({"square": square}) - for m in movs: - var i = b.board[m.to].frame if m.flags & Chess.BITS.CAPTURE else b.background_array[m.to].circle - move_indicators.append(i) - i.show() - - -func show_premove_indicators(): - clear_move_indicators() - var p = b.get_piece(square) - p.background.show() - var movs = b.chess.piece_moves(square, p.type, b.team, false) - for m in movs: - var _p = b.board[m.to] - var i = b.background_array[m.to].circle - if is_instance_valid(_p): - i = _p.frame - move_indicators.append(i) - i.show() |