35 lines
632 B
GDScript
35 lines
632 B
GDScript
|
|
extends Node2D
|
||
|
|
|
||
|
|
@export var grid_input: GridInput
|
||
|
|
var input_enabled: bool = false
|
||
|
|
|
||
|
|
func _input(event):
|
||
|
|
if event is InputEventKey and event.pressed:
|
||
|
|
if event.keycode == KEY_B:
|
||
|
|
toggle()
|
||
|
|
|
||
|
|
func toggle():
|
||
|
|
input_enabled = !input_enabled
|
||
|
|
if input_enabled: enable_decon()
|
||
|
|
else: disable_decon()
|
||
|
|
|
||
|
|
func enable_decon():
|
||
|
|
grid_input.request_area(
|
||
|
|
self,
|
||
|
|
_confirm_area,
|
||
|
|
_cancel_area,
|
||
|
|
GridInput.Style.Delete,
|
||
|
|
GridInput.AreaType.Rectangle,
|
||
|
|
false
|
||
|
|
)
|
||
|
|
|
||
|
|
func disable_decon():
|
||
|
|
grid_input.clear_request()
|
||
|
|
|
||
|
|
func _confirm_area(context, area: Rect2i):
|
||
|
|
pass
|
||
|
|
|
||
|
|
func _cancel_area(context):
|
||
|
|
print("decon cancelled")
|
||
|
|
input_enabled = false
|