Предупреждение Unity 3D CS0414: поле <field>назначено, но его значение никогда не используется - PullRequest
0 голосов
/ 23 января 2020

Я хотел бы знать, почему эта ошибка происходит в коде ниже.

Я назначил корреспондента GO (игровые объекты) в инспекторе.

PhotonNetwork.ConnectUsingSettings, OnConnectedToMaster, OnJoinedLobby работает нормально

Метод On_PlayerNameInput_changed() уже PlayerName InputField в иерархии (и PlayerName InputField как PlayerNameScreen , дочерний элемент).

GO подключен к MenuManager GO слотов

Теперь у меня есть этот код

public class MenuManager : MonoBehaviourPunCallbacks
    {
    [SerializeField] private GameObject connectScreen, playerNameScreen, playerNameButton; 

    [SerializeField] private InputField createRoomInput, joinRoomInput, playerNameInput; 

    public void OnClick_PlayerNameButton() 
    {
        PhotonNetwork.NickName = playerNameInput.text; 
    }

    public void On_PlayerNameInput_changed() 
    {
        if (playerNameInput.text.Length > 2 && playerNameInput.text.Length < 11)
            playerNameButton.SetActive(true);

        else
            playerNameButton.SetActive(false);
     }

И предупреждение не отображается , но если я сделаю следующее:

public void On_PlayerNameInput_changed() 
    {
        if (playerNameInput != null)
        {
            if (playerNameInput.text.Length > 2 && playerNameInput.text.Length < 11)
                playerNameButton.SetActive(true);

            else
                playerNameButton.SetActive(false);
        }
        else
            Debug.Log("PlayerNameInput is null");
    }

Сразу появятся следующие предупреждающие сообщения:

Assets \ Scripts \ MenuManager.cs (11,57): предупреждение CS0649: Поле 'MenuManager. playerNameButton 'никогда не назначается и всегда будет иметь значение по умолчанию null

Assets \ Scripts \ MenuManager.cs (14,56): предупреждение CS0649: Поле' MenuManager.playerNameInput 'никогда не назначается и будет всегда имеет значение по умолчанию null

Assets \ Scripts \ MenuManager.cs (11,39): предупреждение CS0649: Поле 'MenuManager.playerNameScreen' никогда не назначается и всегда будет иметь значение по умолчанию null

И, как показано на рисунке, GO уже перетаскиваются в слоты MenuManager.

Спасибо за любую помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...