Page 1 sur 1

Clavier virtuel, methode et POO

Publié : 31 Août 2022 10:09
par Frederic
Bonjour à toute l'equipe.

Si j'ai bien réussi à faire mon clavier virtuel, je ne sais pas comment faire pour l'appeler par different inputfield placé dans d'autres scripts



Voici comment je fais pour un seul Inpufield qui est placé dans un script separé nomé fenetreVehicule.

Mon bout de code du clavier est placé dans script
public class Clavier : MonoBehaviour

Code : Tout sélectionner

    public void SaisieClavier()
    {
        Debug.Log("SaisieClavier tout cours");
        inputField = fenetreVehicule.InputfieldNomVehicule;
        fenetreVehicule.InputfieldNomVehicule.ProcessEvent(Event.KeyboardEvent(Saisie));
        fenetreVehicule.InputfieldNomVehicule.ForceLabelUpdate();
    }

	//mes touches

    public void Chiffre0()
    {
        Saisie = "0";
        SaisieClavier();
    }

    public void Chiffre1()
    {
        Saisie = "1";
        SaisieClavier();
    }

    public void Chiffre2()
    {
        Saisie = "2";
        SaisieClavier();
    }
Je souhaiterais pouvoir appeler mon clavier pour n'importe quel Inputfield comme une simple fonction, mais je n'ai pas encore creusé la POO.
Des suggestions ?

Re: Clavier virtuel, methode et POO

Publié : 01 Sep 2022 17:20
par Max
Bonjour,
Frederic a écrit :
31 Août 2022 10:09
Je souhaiterais pouvoir appeler mon clavier pour n'importe quel Inputfield comme une simple fonction, mais je n'ai pas encore creusé la POO.
Des suggestions ?
Ton Inputfield te permet de récupérer un string du texte entré au clavier.
Pourquoi ne pas simplement faire un test dessus pour connaitre son contenu, et par exemple voir si est rentré le nom d'une fonction par exemple (déclenchant alors un événement précis) ?

Re: Clavier virtuel, methode et POO

Publié : 04 Sep 2022 08:31
par Frederic
j'ai trouvé ça

Quand mon InputField à le focus, il pointe sur cette methode

Code : Tout sélectionner

    public void Transfert(TMPro.TMP_InputField inputFieldTe)
    {
        inputFieldTemp = inputFieldTe;
        Debug.Log("Transfert()");
    }