Найти общий сценарий, который прикреплен к нескольким объектам gameObjects? - PullRequest
0 голосов
/ 07 мая 2019

У меня есть скрипт, который был прикреплен к нескольким объектам gameObjects, и этот скрипт, на который я ссылаюсь в другом скрипте. Однако при обращении к нему обращаются только к одному игровому объекту, а не ко всем. Как получить доступ ко всем объектам gameObjects, использующим этот скрипт?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CheckForGrab : MonoBehaviour {

    private OVRGrabber grabber; //the script I try to access
    // Use this for initialization
    void Start () {
        grabber = (OVRGrabber) FindObjectOfType(typeof(OVRGrabber)); // the gameObject the script is attached to
    }
}

Ответы [ 2 ]

4 голосов
/ 07 мая 2019

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

Попробуйте FindObject s OfType . Обратите внимание на 's'.


Кроме того, в этом случае используйте дженерики вместо приведения.

grabbers = FindObjectsOfType<OVRGrabber>();
grabber = grabbers[index];
0 голосов
/ 07 мая 2019

Использование: FindObjectsOfType (typeof (OVRGrabber) вместо FindObjectOfType (typeof (OVRGrabber)

s важно.

Ваш код будет таким:

private OVRGrabber[] grabbers; 
private OVRGrabber grabber;

// Use this for initialization
void Start () {
    grabbers = (OVRGrabber) FindObjectsOfType(typeof(OVRGrabber)); 

    grabber = grabbers[0]; //iterate if you want to do stuffs with everyone of them

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