Qu'est-ce que unityaction ?

UnityAction est une classe de type générique dans Unity Engine, qui est utilisée pour déclarer des méthodes en tant que délégués d'action. Les délégués d'action sont des objets qui peuvent stocker des références à des méthodes sans retour et sans paramètres.

Dans Unity, UnityAction est principalement utilisé pour créer des événements et des callbacks. Les événements sont des mécanismes permettant de déclencher des actions lorsqu'un certain événement se produit, tandis que les callbacks sont des méthodes appelées en réponse à une action spécifique.

Voici un exemple d'utilisation d'UnityAction :

using UnityEngine;
using UnityEngine.Events;

public class Example : MonoBehaviour
{
    public UnityAction myAction;

    private void Start()
    {
        myAction = DoSomething;
        myAction += DoSomethingElse;

        // Appelle toutes les méthodes dans l'ordre dans lequel elles ont été ajoutées
        myAction.Invoke();
    }

    private void DoSomething()
    {
        Debug.Log("Doing something...");
    }

    private void DoSomethingElse()
    {
        Debug.Log("Doing something else...");
    }
}

Dans cet exemple, nous avons déclaré une variable myAction de type UnityAction. Nous avons ensuite assigné deux méthodes, DoSomething et DoSomethingElse, à myAction à l'aide de l'opérateur +=. Enfin, nous avons invoqué toutes les méthodes assignées à myAction en utilisant la méthode Invoke().

UnityAction est un outil puissant pour gérer les événements et les callbacks dans Unity. Il permet d'organiser et d'exécuter des actions en fonction de différents événements dans le jeu, offrant ainsi une grande flexibilité et extensibilité au code.