diff --git a/Enemies/Scenes/boss-james.tscn b/Enemies/Scenes/boss-james.tscn index 72c2e7f..6b9a1f7 100644 --- a/Enemies/Scenes/boss-james.tscn +++ b/Enemies/Scenes/boss-james.tscn @@ -20,7 +20,7 @@ metadata/_custom_type_script = "uid://ddgbr0n8kic3y" viewport_path = NodePath("Enemy/HealthBar3D/SubViewport") [sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_tviqb"] -points = PackedVector3Array(0, 0, 0, -1.5, 1, -3, 1.5, 1, -3, 1.5, 0, -3, -1.5, 0, -3) +points = PackedVector3Array(0, 0, 0, -1.5, 1, -2.5, 1.5, 1, -2.5, 1.5, 0, -2.5, -1.5, 0, -2.5) [node name="PathFollow3D" instance=ExtResource("1_ohyx6")] @@ -42,9 +42,12 @@ transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0.34, 0) texture = SubResource("ViewportTexture_mw235") [node name="TowerAttackRange" type="Area3D" parent="Enemy" index="4"] -collision_layer = 4 +collision_layer = 0 collision_mask = 4 [node name="CollisionShape3D" type="CollisionShape3D" parent="Enemy/TowerAttackRange" index="0"] shape = SubResource("ConvexPolygonShape3D_tviqb") debug_color = Color(0.419608, 0, 0.584314, 0.419608) + +[connection signal="body_entered" from="Enemy/TowerAttackRange" to="Enemy" method="onAttackRangeBodyEntered"] +[connection signal="body_exited" from="Enemy/TowerAttackRange" to="Enemy" method="onAttackRangeBodyExited"] diff --git a/Enemies/boss.gd b/Enemies/boss.gd index 5828773..63b8b76 100644 --- a/Enemies/boss.gd +++ b/Enemies/boss.gd @@ -5,15 +5,9 @@ class_name Boss @export var projectile : ProjectileResource -func _ready() -> void: - super._ready() - $TowerAttackRange.body_entered.connect(onAttackRangeBodyEntered) - $TowerAttackRange.body_exited.connect(onAttackRangeBodyExited) - - func attack() -> bool: - # already attacked TheCube if super.attack(): + # already attacked TheCube return true var towerTargets : Array[Node3D] = targets.filter(func(b): return b is Tower) diff --git a/Enemies/enemy.tscn b/Enemies/enemy.tscn index 87c3ceb..4e470b3 100644 --- a/Enemies/enemy.tscn +++ b/Enemies/enemy.tscn @@ -29,7 +29,7 @@ radius = 0.6 [node name="Enemy" type="CharacterBody3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.25, 0) collision_layer = 2 -collision_mask = 2 +collision_mask = 0 script = ExtResource("1_orwns") [node name="CollisionShape3D" type="CollisionShape3D" parent="Enemy"] @@ -69,8 +69,8 @@ show_percentage = false metadata/_custom_type_script = "uid://blnmjxmusrsa7" [node name="CubeAttackRange" type="Area3D" parent="Enemy"] -collision_layer = 4 -collision_mask = 4 +collision_layer = 0 +collision_mask = 8 [node name="CollisionShape3D" type="CollisionShape3D" parent="Enemy/CubeAttackRange"] shape = SubResource("SphereShape3D_cmo2f") diff --git a/Tiles/cube.tscn b/Tiles/cube.tscn index 748b890..e95b6cd 100644 --- a/Tiles/cube.tscn +++ b/Tiles/cube.tscn @@ -7,8 +7,8 @@ size = Vector3(1.2, 1, 1.2) [node name="TheCube" type="StaticBody3D"] -collision_layer = 4 -collision_mask = 4 +collision_layer = 8 +collision_mask = 0 script = ExtResource("1_wrmut") [node name="CollisionShape3D" type="CollisionShape3D" parent="."] diff --git a/Tiles/tile.gd b/Tiles/tile.gd index 819bf5b..316a13f 100644 --- a/Tiles/tile.gd +++ b/Tiles/tile.gd @@ -4,3 +4,7 @@ class_name GameTile enum TYPE { PATH, TOWER, SCENE } @export var type : TYPE + + +func _ready() -> void: + $CollisionShape3D.debug_color = Color.TRANSPARENT diff --git a/Towers/Projectiles/projectile.tscn b/Towers/Projectiles/projectile.tscn index 274070a..cc83a93 100644 --- a/Towers/Projectiles/projectile.tscn +++ b/Towers/Projectiles/projectile.tscn @@ -21,7 +21,7 @@ billboard = 2 texture = ExtResource("2_08w86") [node name="HitBox" type="Area3D" parent="."] -collision_layer = 6 +collision_layer = 0 collision_mask = 6 [node name="ProjectileSize" type="CollisionShape3D" parent="HitBox"] @@ -29,7 +29,7 @@ shape = SubResource("SphereShape3D_dsts2") debug_color = Color(0.926858, 0.237749, 0.335021, 0.42) [node name="DamageArea" type="Area3D" parent="."] -collision_layer = 6 +collision_layer = 0 collision_mask = 6 [node name="ProjectileArea" type="CollisionShape3D" parent="DamageArea"] diff --git a/Towers/Tower.gd b/Towers/Tower.gd index c8e4fe5..87e5db7 100644 --- a/Towers/Tower.gd +++ b/Towers/Tower.gd @@ -75,8 +75,6 @@ func _ready() -> void: if not Engine.is_editor_hint(): energy = max_energy energyRecoveryCooldown.timeout.connect(func(): energy += energy_regen + Game.energy_boost) - collision_layer = 0 - collision_mask = 0 $PriceTag.text = str(price) + " €" $Range/Range.shape = towerRange @@ -113,19 +111,11 @@ func shoot() -> void: func resting() -> void: - visible = false - collision_layer = 0 - collision_mask = 0 toggleConnection(false) - energyRecoveryCooldown.start() func in_action() -> void: - visible = true - collision_layer = 0b100 - collision_mask = 0b100 toggleConnection(true) - energyRecoveryCooldown.stop() func choose_target() -> Enemy: @@ -161,13 +151,15 @@ func onBodyExited(body: Node3D) -> void: func toggleConnection(activate : bool) -> void: + visible = activate + $Range.monitoring = activate + $Range.monitorable = activate + $CollisionShape3D.disabled = not activate if activate: - $Range.monitorable = true - $Range.monitoring = true + energyRecoveryCooldown.stop() else: - $Range.monitorable = false - $Range.monitoring = false availableTargets.clear() + energyRecoveryCooldown.start() func disable(duration : float) -> void: diff --git a/Towers/tower.tscn b/Towers/tower.tscn index 7a564f9..eedb81f 100644 --- a/Towers/tower.tscn +++ b/Towers/tower.tscn @@ -26,7 +26,7 @@ metadata/_custom_type_script = "uid://blnmjxmusrsa7" [node name="Tower" type="StaticBody3D"] collision_layer = 4 -collision_mask = 4 +collision_mask = 0 script = ExtResource("1_egfuc") icone = ExtResource("2_mnaic") bio = "Aime se promener dans l'herbe et manger des framboises. Sa petite bouille la rend trop mignonne." @@ -34,10 +34,11 @@ bio = "Aime se promener dans l'herbe et manger des framboises. Sa petite bouille [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.6, 0) shape = SubResource("CapsuleShape3D_ynmsb") +disabled = true [node name="Range" type="Area3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0) -collision_layer = 2 +collision_layer = 0 collision_mask = 2 [node name="Range" type="CollisionShape3D" parent="Range"] diff --git a/UI/gui.tscn b/UI/gui.tscn index e2bd2ed..d87d7af 100644 --- a/UI/gui.tscn +++ b/UI/gui.tscn @@ -54,7 +54,6 @@ offset_left = -90.0 offset_right = 90.0 offset_bottom = 50.0 grow_horizontal = 2 -theme_override_colors/font_color = Color(0.2, 0.2, 0.2, 1) theme_override_font_sizes/font_size = 40 [node name="TowerButtonPanel" type="HBoxContainer" parent="."] diff --git a/project.godot b/project.godot index c435e83..19fa344 100644 --- a/project.godot +++ b/project.godot @@ -109,7 +109,7 @@ test={ [layer_names] -3d_physics/layer_1="floor" -3d_physics/layer_2="tower" -3d_physics/layer_3="baddy" -3d_physics/layer_4="cube" +3d_physics/layer_1="tiles" +3d_physics/layer_2="enemy" +3d_physics/layer_3="tower" +3d_physics/layer_4="TheCube"