#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:
8
entities/interactables/scripts/actions/water_plant.gd
Normal file
8
entities/interactables/scripts/actions/water_plant.gd
Normal 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")
|
||||
@@ -0,0 +1 @@
|
||||
uid://bb38yqsd072ws
|
||||
8
entities/interactables/scripts/interactable.gd
Normal file
8
entities/interactables/scripts/interactable.gd
Normal 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)
|
||||
1
entities/interactables/scripts/interactable.gd.uid
Normal file
1
entities/interactables/scripts/interactable.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://dyprcd68fjstf
|
||||
6
entities/interactables/scripts/interactable_action.gd
Normal file
6
entities/interactables/scripts/interactable_action.gd
Normal 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")
|
||||
@@ -0,0 +1 @@
|
||||
uid://yutflvdgdk04
|
||||
Reference in New Issue
Block a user