[MY] Comment utiliser RemoveListener depuis un gameObject?
Publié : 16 Oct 2021 09:55
Bonjour,
Je suis tombé sur ce sujet concernant le removeListener mais j'ai encore du mal a le comprendre.
RemoveListener au destroy d'un bouton
En suivant la doc d'unity,
Dans mon GameManager, j'ai cette fonction :
Dans le script de mon GameObject (un personne nommé kaya qui arrete de bouger si la partie est perdu) :
Je ne suis pas sur que ce soit judicieux d'utiliser un RemoveListener ici, mais c'était plus pour essayer de comprendre comment l'utiliser. Unity ne m'indique pas d'erreur, mais dans l'inspector du Gamemanager au moment du gameover, je ne vois pas l'objet kaya disparaitre de la liste de l'UnityEvent gameOver. Du coup, je me demande si ça marche bien.
UnityAction, ca ressemble furieusement a un delegate non? Le code me rappel ça même si pour le coup, je ne le comprends pas.
Bonne journée,
Je suis tombé sur ce sujet concernant le removeListener mais j'ai encore du mal a le comprendre.
RemoveListener au destroy d'un bouton
En suivant la doc d'unity,
Dans mon GameManager, j'ai cette fonction :
Code : Tout sélectionner
public void RemoveGameOverTest(UnityAction unityAct)
{
UnityEvt.gameOver.RemoveListener(unityAct);
}
Code : Tout sélectionner
public void KayaStop()
{
GetComponent<KayaIAScript>().enabled = false;
kayaAnimator.SetBool("attack", false);
kayaAnimator.SetBool("walk", false);
UnityAction myEvent = () => { KayaStop(); };
GameManager.Instance.RemoveGameOverTest(myEvent);
}
UnityAction, ca ressemble furieusement a un delegate non? Le code me rappel ça même si pour le coup, je ne le comprends pas.
Code : Tout sélectionner
UnityAction myEvent = () => { KayaStop(); };