protected void Initialize() { var availableMarkerStreams = (IEnumerable <AMarkerStream>)GameObject.FindObjectsOfType <AMarkerStream>(); if (availableMarkerStreams.Any()) { markerStreamInstance = availableMarkerStreams.First(); } else { Debug.LogWarning("No instance implementing IMarkerStream found! \n creating Debug.Log MarkerStream instance"); GameObject DebugMarkerStreamHost = new GameObject(); DebugMarkerStreamHost.AddComponent(typeof(DebugMarkerStream)); DebugMarkerStreamHost.name = DebugMarkerStream.Instance.StreamName; markerStreamInstance = DebugMarkerStream.Instance; if (markerStreams == null) { markerStreams = new List <IMarkerStream>(); } markerStreams.Add(markerStreamInstance); } }
void Start() { marker = markerStreamHost.GetComponent <IMarkerStream>(); if (autoStart) { StartExperiment(); } Assert.IsNotNull(marker, "Add a MarkerStream instance! Implement the IMarkerStream interface on some script and reference it here!"); }