Как проверить, написал ли игрок что-то в поле ввода? - PullRequest
0 голосов
/ 21 июня 2019

Мне нужно, чтобы игрок сначала записал свое имя, прежде чем нажимать кнопку воспроизведения на готовой кнопке, которую имеет Unity.

public void GetNextScene()
{
    if (InputPlayerName != null)
    {
        _playerName = InputPlayerName.text;
        SceneManager.LoadScene(NextScene);
    }
    else
    {
        Debug.Log("Please, write your name first");
    }
}

1 Ответ

1 голос
/ 21 июня 2019

Возможно, вы захотите включить или отключить кнопку динамически, когда проигрыватель меняет текст в поле ввода.

Вы должны использовать событие onValueChanged, это , если вы используете обычные поля ввода, и это , если вы используете TextMesh Pro.

Пример из здесь :

using UnityEngine;
using System.Collections;
using UnityEngine.UI; // Required when Using UI elements.

public class Example : MonoBehaviour
{
    public InputField mainInputField;

    public void Start()
    {
        //Adds a listener to the main input field and invokes a method when the value changes.
        mainInputField.onValueChanged.AddListener(delegate {ValueChangeCheck(); });
    }

    // Invoked when the value of the text field changes.
    public void ValueChangeCheck()
    {
        Debug.Log("Value Changed");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...