Я уверен, что это что-то глупое, но я не могу понять. Следующий код:
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) {
Итак, какие-нибудь идеи?
Ваш первый оператор возврата не возвращает ничего, он просто говорит о возврате
if (desiredCannon.tag.Contains("Cannon")) return // return something