Ajout d'un Remove_state #1

Open
opened 2025-09-13 15:20:23 +00:00 by papycuisson · 2 comments

Sur l'exemple du satyr.gd et de la gestion du "is_frightening" world state le code ne nous permet pas de retirer la state lorsqu'elle n'est plus utilisé.
Nous avons le clear_state dans world_state.gd en global qui nous permet de supprimer TOUTES les states enregistrer de la variable _state{}. Nous n'avons aucun moyen d'en retirer un seul.
D'où le WorldState.remove_state("state_name")

Sur l'exemple du _satyr.gd_ et de la gestion du **"is_frightening"** world state le code ne nous permet pas de retirer la state lorsqu'elle n'est plus utilisé. Nous avons le clear_state dans _world_state.gd_ en global qui nous permet de supprimer TOUTES les states enregistrer de la variable **_state{}**. Nous n'avons aucun moyen d'en retirer un seul. D'où le **WorldState.remove_state("state_name")**
Owner

On avait discuté du fait que le worldstate pourrait gérer les states temporaire lui même, avec un clean à intervalles réguliers

On avait discuté du fait que le worldstate pourrait gérer les states temporaire lui même, avec un clean à intervalles réguliers
Owner

En pseudocode ça donnerait

State = {name:status,cooldown_time,current_time} # time étant le temps durant lequel l'état doit rester actif si pas retiré , -1 si infini

Func remove_state("state_name"):
    Remove states.state_name

Func remove_outdated_state()
     For state in states:
         If state.current_time+cooldown_time < current_time : 
             Remove_state(state)
En pseudocode ça donnerait ```gdscript State = {name:status,cooldown_time,current_time} # time étant le temps durant lequel l'état doit rester actif si pas retiré , -1 si infini Func remove_state("state_name"): Remove states.state_name Func remove_outdated_state() For state in states: If state.current_time+cooldown_time < current_time : Remove_state(state) ```
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lucastucious/godot-goap#1
No description provided.