Ошибка сети PUN - не найдено подходящего метода для переопределения - PullRequest
0 голосов
/ 28 января 2020

Я довольно новичок в C# и единстве, и я пытался настроить сервис Photon Networking. Я столкнулся с проблемой, которую не могу понять причину. Вот два сообщения об ошибках.

Assets \ PhotonUnityNetworking \ Resources \ TestConnect.cs (21,41): ошибка CS0246: не удалось найти тип или имя пространства имен «DisconnectCause» (вы пропали без вести) директива using или ссылка на сборку?)

Asseta \ PhotonUnityNetworking \ Resources \ TestConnect.cs (21,26): ошибка CS0115 'TestConnect.OnDisconnected (DisconnectCause)': не найдено подходящего метода для переопределения.

Однако в visual studio ничего не отображается как неправильное.

visual studio screenshot

Любая помощь в отношении причины этих проблем приветствуется .

using Photon.Pun;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TestConect : MonoBehaviourPunCallbacks
{
    private void Start()
    {
        print("Connecting to server...");
        PhotonNetwork.GameVersion = "0.0.1";
        PhotonNetwork.ConnectUsingSettings();
    }

    public override void OnConnectedToMaster()
    {
        print("Connected to server!");
    }

    public override void OnDisconnected(DiconnectionCause cause)
    {
        print("Disconnected from Server for reason " + cause.ToString());
    }
}

1 Ответ

0 голосов
/ 28 января 2020

Сначала еще одно важное замечание: вы не должны помещать какие-либо свои пользовательские сценарии в папку с именем Resources!

Также afaik PhotonUnityNetworking является их официальной папкой самого Фотона. Я бы порекомендовал не изменять и не добавлять что-либо в него, что затруднит его обновление или исправление позже, если вы каким-то образом испортили его.


Тогда к вашей проблеме

Это, как уже указывает на ошибка

, если вы пропустили директиву использования

DisconnectCause принадлежит другому пространству имен Photon.Realtime.

Вам нужно будет добавить

using Photon.Realtime;

поверх этого файла или обратиться к нему напрямую, как

public override void OnDisconnected(Photon.Realtime.DisconnectCause cause)
{
    ...
}

Странно, но VisualStudio этого не делает обратите внимание, что ...


Вторая ошибка - просто последующая ошибка компиляции, которая не находит соответствующий метод для переопределения из-за предполагаемого несоответствия сигнатуры, так как он не знает тип, который вы использовали в качестве параметра из-за ошибки до этого.


В будущем не публиковать скриншоты с кодом и сообщений об ошибках ! Это не только затрудняет решение проблемы, но и делает невозможным поиск этой ветки для других при поиске содержимого сообщения об ошибке, чтобы увидеть, было ли оно где-то уже решено!

Скопируйте и вставьте необработанный текст в ваш вопрос и отформатируйте его как код, используя кнопку { }.

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