Ошибка Unity CS0126

1

Я уверен, что это что-то глупое, но я не могу понять. Следующий код:

public GameObject AISelectCannon() {
    Debug.Log("AISelectCannon called");
    GameObject desiredCannon = AIController.selectCannon(0);
    if (desiredCannon.tag.Contains("Cannon")) return;
    m_SelectedCannon = desiredCannon;
    aiSelectionPending = true;
    return m_SelectedCannon;
}

вызывает следующую ошибку:

Scripts/CubeContainer.cs(61,59): error CS0126: An object of a type convertible to 'UnityEngine.GameObject' is required for the return statement

(GameObject wishCannon.... - строка 61)

Другая соответствующая информация от AIController:

public static GameObject selectCannon(int side) {

Итак, какие-нибудь идеи?

  • 1
    я думаю, что это ваш первый оператор return после if, он не возвращает GameObject
  • 0
    Изменено, чтобы вернуть ноль. Исправлена. > _ <
Теги:
unity3d

1 ответ

0
Лучший ответ

Ваш первый оператор возврата не возвращает ничего, он просто говорит о возврате

if (desiredCannon.tag.Contains("Cannon")) return // return something

Ещё вопросы

Сообщество Overcoder
Наверх
Меню