#10 gestion des interaction du joueur

- ajout d'une classe abstraite d'éléments interactifs : Interactables
- ajout d'une classe abstraite d'actions d'éléments d'interactifs : InteractablesActions
- ajout de la première classe d'action : WaterPlant
- ajout d'une plante rudimentaire
This commit is contained in:
2025-08-01 15:45:17 +02:00
parent b60c445592
commit 4c089dddd6
18 changed files with 221 additions and 4 deletions

View File

@@ -0,0 +1,8 @@
extends InteractableAction
class_name WaterPlantAction
func action(_p: Player, _i : Interactable):
if _i is Plant:
_i.watered = true
else :
printerr("No plant selected or interactable is not a plant")

View File

@@ -0,0 +1 @@
uid://bb38yqsd072ws

View File

@@ -0,0 +1,8 @@
extends Area2D
class_name Interactable
@export var actions : Array[InteractableAction] = [];
func interact(p : Player):
for a in actions:
a.action(p, self)

View File

@@ -0,0 +1 @@
uid://dyprcd68fjstf

View File

@@ -0,0 +1,6 @@
# Classe abstraite permettant de développer diverses actions
extends Resource
class_name InteractableAction
func action(_p: Player, _i : Interactable):
printerr("Méthode action de la classe abstraite InteractableAction appelée")

View File

@@ -0,0 +1 @@
uid://yutflvdgdk04