2017-02-19 25 views
-1

Я пытаюсь построить игру в Unity3D, и я использую версию Unity 5.1.1 pro, я импортировал SDK Google VR, и я получаю эта ошибка.Ошибка Unity CS0308: Не общий метод не может использоваться с аргументами типа

void Awake() { 
#if !UNITY_5_2 
     // im getting a error on this line 
     GetComponentInChildren<VideoControlsManager>(true).Player = player; 
#else 
    GetComponentInChildren<VideoControlsManager>().Player = player; 
#endif 
    } 
} 
+0

Вы проверили подписи GetComponentInChildren в 5.1.1? – efekctive

ответ

0

вы можете использовать Component.GetComponentsInChildren, потому что он принимает логическое значение для включения неактивных объектов, а потому, что он возвращает массив, который вы можете использовать ForEach для назначения ваша переменная к каждому элементу

public VideoControlsManager[] VideoControlsManagers; 
VideoControlsManagers = GetComponentsInChildren<VideoControlsManager>(true); 

     foreach(VideoControlsManager v in VideoControlsManagers) 
      v.Player = player; 
0

Согласно первой строке documentation «с, не существует <generictype> приемлемым. Но в этом примере используется <generictype>. Вы можете отправить билет, чтобы узнать, что правильно. Из-за ошибки я подозреваю, что строка определения - правильный способ ее записи. Так что ...

Написать свою линию так:

GetComponentInChildren(typeof(VideoControlsManager)).Player = player;