GUI blocks mouse input on map
This commit is contained in:
parent
d324a66d54
commit
7aac67b765
6 changed files with 71 additions and 19 deletions
|
|
@ -41,4 +41,14 @@ signal wave_has_change(waveNumber : int, timeRemaining : float)
|
|||
## [b]Subscriber[/b] : [WorldManager]
|
||||
signal lauch_next_wave
|
||||
|
||||
|
||||
## [b]Emitter[/b] : [gui.gd][br]
|
||||
## [b]Subscriber[/b] : [TowerManager]
|
||||
signal mouse_entered_gui
|
||||
|
||||
|
||||
## [b]Emitter[/b] : [gui.gd][br]
|
||||
## [b]Subscriber[/b] : [TowerManager]
|
||||
signal mouse_exited_gui
|
||||
|
||||
@warning_ignore_restore("unused_signal")
|
||||
|
|
|
|||
|
|
@ -10,11 +10,14 @@ var usedLocations : Dictionary
|
|||
var selectedTile : Vector3
|
||||
var selected_tower : Tower
|
||||
var buildedTower : int = 0
|
||||
var is_on_gui : bool = false
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
EventBus.tower_selected.connect(onTowerSelect)
|
||||
#$AnimationPlayer.play("arrow_bobbing")
|
||||
EventBus.mouse_entered_gui.connect(onMouseEnteredGui)
|
||||
EventBus.mouse_exited_gui.connect(onMouseExitedGui)
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
|
|
@ -46,6 +49,10 @@ func _input(event: InputEvent) -> void:
|
|||
|
||||
|
||||
func handle_player_controls() -> Node3D:
|
||||
#If the player has the mouse on the GUI, player can't place tower
|
||||
if is_on_gui:
|
||||
return
|
||||
|
||||
var space_state : PhysicsDirectSpaceState3D = get_world_3d().direct_space_state
|
||||
var mouse_pos : Vector2 = get_viewport().get_mouse_position()
|
||||
|
||||
|
|
@ -147,3 +154,13 @@ func handleTowerShortCuts(event: InputEventKey) -> void:
|
|||
|
||||
if Game.towers.has(towerType):
|
||||
selectTower(towerType, true)
|
||||
|
||||
|
||||
func onMouseEnteredGui() -> void:
|
||||
is_on_gui = true
|
||||
print(is_on_gui)
|
||||
|
||||
|
||||
func onMouseExitedGui() -> void:
|
||||
is_on_gui = false
|
||||
print(is_on_gui)
|
||||
|
|
|
|||
12
UI/gui.gd
12
UI/gui.gd
|
|
@ -24,6 +24,10 @@ func _ready() -> void:
|
|||
%QuitLevelBtn.pressed.connect(Helper.showConfirmPopup.bind("Quit level ?", self, Game.quitLevel))
|
||||
%QuitGameBtn.pressed.connect(Helper.showConfirmPopup.bind("Quit game ?", self, Game.quitGame))
|
||||
$TowerInfoPanel.visible = false
|
||||
$TowerInfoPanel.mouse_entered.connect(onMouseEnteredGui)
|
||||
$TowerInfoPanel.mouse_exited.connect(onMouseExitedGui)
|
||||
$TowerButtonPanel.mouse_entered.connect(onMouseEnteredGui)
|
||||
$TowerButtonPanel.mouse_exited.connect(onMouseExitedGui)
|
||||
|
||||
if Engine.is_editor_hint():
|
||||
var allowedTowers : Array[Tower.TYPE]
|
||||
|
|
@ -73,3 +77,11 @@ func createTowerButton(towerType : Tower.TYPE) -> void:
|
|||
else:
|
||||
btn.disabled = true
|
||||
buttonContainer.add_child(btn)
|
||||
|
||||
|
||||
func onMouseEnteredGui() -> void:
|
||||
EventBus.mouse_entered_gui.emit()
|
||||
|
||||
|
||||
func onMouseExitedGui() -> void:
|
||||
EventBus.mouse_exited_gui.emit()
|
||||
|
|
|
|||
44
UI/gui.tscn
44
UI/gui.tscn
|
|
@ -54,7 +54,7 @@ theme_override_font_sizes/font_size = 40
|
|||
[node name="Timer" type="Timer" parent="WaveCooldown"]
|
||||
wait_time = 0.1
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="."]
|
||||
[node name="TowerButtonPanel" type="HBoxContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 3
|
||||
anchor_left = 1.0
|
||||
|
|
@ -67,22 +67,23 @@ grow_horizontal = 0
|
|||
grow_vertical = 0
|
||||
theme_override_constants/separation = 0
|
||||
|
||||
[node name="InfoPanel" type="PanelContainer" parent="HBoxContainer"]
|
||||
[node name="InfoPanel" type="PanelContainer" parent="TowerButtonPanel"]
|
||||
custom_minimum_size = Vector2(200, 0)
|
||||
layout_mode = 2
|
||||
mouse_filter = 1
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_h4fn5")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="HBoxContainer/InfoPanel"]
|
||||
[node name="MarginContainer" type="MarginContainer" parent="TowerButtonPanel/InfoPanel"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 10
|
||||
theme_override_constants/margin_top = 10
|
||||
theme_override_constants/margin_right = 10
|
||||
theme_override_constants/margin_bottom = 10
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/InfoPanel/MarginContainer"]
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="TowerButtonPanel/InfoPanel/MarginContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="LabelMoney" type="Label" parent="HBoxContainer/InfoPanel/MarginContainer/VBoxContainer"]
|
||||
[node name="LabelMoney" type="Label" parent="TowerButtonPanel/InfoPanel/MarginContainer/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 1
|
||||
|
|
@ -93,7 +94,7 @@ text = "1'000'000 €"
|
|||
horizontal_alignment = 2
|
||||
vertical_alignment = 2
|
||||
|
||||
[node name="LabelTowerInCube" type="Label" parent="HBoxContainer/InfoPanel/MarginContainer/VBoxContainer"]
|
||||
[node name="LabelTowerInCube" type="Label" parent="TowerButtonPanel/InfoPanel/MarginContainer/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
tooltip_text = "Le nombre de héros disponible dans le cube !"
|
||||
|
|
@ -102,7 +103,7 @@ theme_override_colors/font_color = Color(0.2, 0.2, 0.2, 1)
|
|||
text = "0"
|
||||
horizontal_alignment = 2
|
||||
|
||||
[node name="LabelTowerOnTerrain" type="Label" parent="HBoxContainer/InfoPanel/MarginContainer/VBoxContainer"]
|
||||
[node name="LabelTowerOnTerrain" type="Label" parent="TowerButtonPanel/InfoPanel/MarginContainer/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
tooltip_text = "Le nombre de héros en action sur le terrain !"
|
||||
|
|
@ -111,17 +112,18 @@ theme_override_colors/font_color = Color(0.2, 0.2, 0.2, 1)
|
|||
text = "0"
|
||||
horizontal_alignment = 2
|
||||
|
||||
[node name="WaveNumber" type="Label" parent="HBoxContainer/InfoPanel/MarginContainer/VBoxContainer"]
|
||||
[node name="WaveNumber" type="Label" parent="TowerButtonPanel/InfoPanel/MarginContainer/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.2, 0.2, 0.2, 1)
|
||||
|
||||
[node name="CubeIntegrity" type="ProgressBar" parent="HBoxContainer"]
|
||||
[node name="CubeIntegrity" type="ProgressBar" parent="TowerButtonPanel"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(10, 0)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 1
|
||||
tooltip_text = "Les points d'intégrités du Cube. S'ils arrivent à 0, fin de la partie."
|
||||
mouse_filter = 1
|
||||
theme_override_styles/background = SubResource("StyleBoxFlat_nxmp4")
|
||||
theme_override_styles/fill = SubResource("StyleBoxFlat_epgl5")
|
||||
max_value = 50.0
|
||||
|
|
@ -129,12 +131,13 @@ value = 50.0
|
|||
fill_mode = 3
|
||||
show_percentage = false
|
||||
|
||||
[node name="ControlPanelBase" type="PanelContainer" parent="HBoxContainer"]
|
||||
[node name="ControlPanelBase" type="PanelContainer" parent="TowerButtonPanel"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
mouse_filter = 1
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_3lugd")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="HBoxContainer/ControlPanelBase"]
|
||||
[node name="MarginContainer" type="MarginContainer" parent="TowerButtonPanel/ControlPanelBase"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 0
|
||||
theme_override_constants/margin_left = 10
|
||||
|
|
@ -142,34 +145,37 @@ theme_override_constants/margin_top = 10
|
|||
theme_override_constants/margin_right = 10
|
||||
theme_override_constants/margin_bottom = 10
|
||||
|
||||
[node name="ButtonContainer" type="GridContainer" parent="HBoxContainer/ControlPanelBase/MarginContainer"]
|
||||
[node name="ButtonContainer" type="GridContainer" parent="TowerButtonPanel/ControlPanelBase/MarginContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
columns = 4
|
||||
|
||||
[node name="CubeBtn" parent="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer" instance=ExtResource("7_parkk")]
|
||||
[node name="CubeBtn" parent="TowerButtonPanel/ControlPanelBase/MarginContainer/ButtonContainer" instance=ExtResource("7_parkk")]
|
||||
layout_mode = 2
|
||||
mouse_filter = 1
|
||||
texture = ExtResource("7_fffne")
|
||||
|
||||
[node name="QuitLevelBtn" parent="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer" instance=ExtResource("7_parkk")]
|
||||
[node name="QuitLevelBtn" parent="TowerButtonPanel/ControlPanelBase/MarginContainer/ButtonContainer" instance=ExtResource("7_parkk")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
mouse_filter = 1
|
||||
texture = ExtResource("8_decjp")
|
||||
|
||||
[node name="QuitGameBtn" parent="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer" instance=ExtResource("7_parkk")]
|
||||
[node name="QuitGameBtn" parent="TowerButtonPanel/ControlPanelBase/MarginContainer/ButtonContainer" instance=ExtResource("7_parkk")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
mouse_filter = 1
|
||||
texture = ExtResource("9_reygo")
|
||||
|
||||
[node name="NextWaveBtn" parent="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer" instance=ExtResource("7_parkk")]
|
||||
[node name="NextWaveBtn" parent="TowerButtonPanel/ControlPanelBase/MarginContainer/ButtonContainer" instance=ExtResource("7_parkk")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
mouse_filter = 1
|
||||
texture = ExtResource("8_ay13l")
|
||||
|
||||
[node name="TowerInfoPanel" type="HBoxContainer" parent="."]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 2
|
||||
anchor_top = 1.0
|
||||
|
|
@ -183,6 +189,7 @@ script = ExtResource("9_3lugd")
|
|||
[node name="InfoPanel" type="PanelContainer" parent="TowerInfoPanel"]
|
||||
custom_minimum_size = Vector2(200, 0)
|
||||
layout_mode = 2
|
||||
mouse_filter = 1
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_h4fn5")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="TowerInfoPanel/InfoPanel"]
|
||||
|
|
@ -259,6 +266,7 @@ horizontal_alignment = 2
|
|||
|
||||
[node name="PanelContainer" type="PanelContainer" parent="TowerInfoPanel"]
|
||||
layout_mode = 2
|
||||
mouse_filter = 1
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_3lugd")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="TowerInfoPanel/PanelContainer"]
|
||||
|
|
@ -274,4 +282,4 @@ layout_mode = 2
|
|||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
|
||||
[connection signal="pressed" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/CubeBtn" to="." method="_on_button_cube_pressed"]
|
||||
[connection signal="pressed" from="TowerButtonPanel/ControlPanelBase/MarginContainer/ButtonContainer/CubeBtn" to="." method="_on_button_cube_pressed"]
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ offset_bottom = 80.0
|
|||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
tooltip_text = "Sélectionner Pierre"
|
||||
mouse_filter = 1
|
||||
mouse_default_cursor_shape = 2
|
||||
script = ExtResource("1_snobr")
|
||||
metadata/_custom_type_script = "uid://dyhtr6g7kd1g2"
|
||||
|
|
@ -44,6 +45,7 @@ layout_mode = 0
|
|||
offset_top = 70.0
|
||||
offset_right = 80.0
|
||||
offset_bottom = 80.0
|
||||
mouse_filter = 1
|
||||
theme_override_styles/fill = SubResource("StyleBoxFlat_i47ne")
|
||||
show_percentage = false
|
||||
|
||||
|
|
@ -57,10 +59,11 @@ anchor_bottom = 1.0
|
|||
offset_top = -36.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
mouse_filter = 2
|
||||
mouse_filter = 1
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_snobr")
|
||||
|
||||
[node name="Label" type="Label" parent="LeFond"]
|
||||
layout_mode = 2
|
||||
mouse_filter = 1
|
||||
label_settings = SubResource("LabelSettings_snobr")
|
||||
horizontal_alignment = 1
|
||||
|
|
|
|||
|
|
@ -12,12 +12,14 @@ script = ExtResource("1_xoo7y")
|
|||
[node name="UpgradeName" type="Label" parent="."]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
mouse_filter = 1
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_font_sizes/font_size = 24
|
||||
text = "test"
|
||||
|
||||
[node name="UpgradeButton" type="Button" parent="."]
|
||||
layout_mode = 2
|
||||
mouse_filter = 1
|
||||
theme_override_font_sizes/font_size = 18
|
||||
text = "Lvl. 0
|
||||
"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue