50 lines
2.1 KiB
C#
50 lines
2.1 KiB
C#
|
|
using System;
|
||
|
|
using XCEngine;
|
||
|
|
|
||
|
|
namespace Gameplay
|
||
|
|
{
|
||
|
|
public sealed class GetComponentsProbe : MonoBehaviour
|
||
|
|
{
|
||
|
|
public int ObservedTransformCount;
|
||
|
|
public int ObservedCameraCount;
|
||
|
|
public int ObservedCameraCountViaGameObject;
|
||
|
|
public int ObservedMarkerCount;
|
||
|
|
public int ObservedMeshRendererCount;
|
||
|
|
public bool ObservedAllMarkersNonNull;
|
||
|
|
public bool ObservedFirstMarkerMatchesGetComponent;
|
||
|
|
public bool ObservedMarkerInstancesAreDistinct;
|
||
|
|
public bool ObservedTransformBoundToHost;
|
||
|
|
public string ObservedFirstMarkerHostName = string.Empty;
|
||
|
|
|
||
|
|
public void Start()
|
||
|
|
{
|
||
|
|
Transform[] transforms = GetComponents<Transform>();
|
||
|
|
Camera[] cameras = GetComponents<Camera>();
|
||
|
|
Camera[] camerasViaGameObject = gameObject.GetComponents<Camera>();
|
||
|
|
ObjectApiMarkerProbe[] markers = GetComponents<ObjectApiMarkerProbe>();
|
||
|
|
MeshRenderer[] meshRenderers = GetComponents<MeshRenderer>();
|
||
|
|
ObjectApiMarkerProbe firstMarker = GetComponent<ObjectApiMarkerProbe>();
|
||
|
|
|
||
|
|
ObservedTransformCount = transforms.Length;
|
||
|
|
ObservedCameraCount = cameras.Length;
|
||
|
|
ObservedCameraCountViaGameObject = camerasViaGameObject.Length;
|
||
|
|
ObservedMarkerCount = markers.Length;
|
||
|
|
ObservedMeshRendererCount = meshRenderers.Length;
|
||
|
|
ObservedAllMarkersNonNull = Array.TrueForAll(markers, marker => marker != null);
|
||
|
|
ObservedFirstMarkerMatchesGetComponent = firstMarker != null
|
||
|
|
&& markers.Length > 0
|
||
|
|
&& ReferenceEquals(markers[0], firstMarker);
|
||
|
|
ObservedMarkerInstancesAreDistinct = markers.Length >= 2
|
||
|
|
&& !ReferenceEquals(markers[0], markers[1]);
|
||
|
|
ObservedTransformBoundToHost = transforms.Length == 1
|
||
|
|
&& transforms[0] != null
|
||
|
|
&& transforms[0].GameObjectUUID == GameObjectUUID;
|
||
|
|
|
||
|
|
if (markers.Length > 0 && markers[0] != null)
|
||
|
|
{
|
||
|
|
ObservedFirstMarkerHostName = markers[0].gameObject.name;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|