52 lines
1.1 KiB
C#
52 lines
1.1 KiB
C#
using UnityEngine;
|
|
|
|
public class GazeTargetSpawner : MonoBehaviour
|
|
{
|
|
public GameObject GazeTargetPrefab;
|
|
|
|
public int NumberOfDummyTargets = 100;
|
|
|
|
public int RadiusMultiplier = 3;
|
|
|
|
[SerializeField]
|
|
private bool isVisible;
|
|
|
|
public bool IsVisible
|
|
{
|
|
get
|
|
{
|
|
return isVisible;
|
|
}
|
|
set
|
|
{
|
|
isVisible = value;
|
|
GazeTarget[] componentsInChildren = base.gameObject.GetComponentsInChildren<GazeTarget>();
|
|
for (int i = 0; i < componentsInChildren.Length; i++)
|
|
{
|
|
MeshRenderer component = componentsInChildren[i].GetComponent<MeshRenderer>();
|
|
if (component != null)
|
|
{
|
|
component.enabled = isVisible;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private void Start()
|
|
{
|
|
for (int i = 0; i < NumberOfDummyTargets; i++)
|
|
{
|
|
GameObject gameObject = Object.Instantiate(GazeTargetPrefab, base.transform);
|
|
gameObject.name = gameObject.name + "_" + i;
|
|
gameObject.transform.localPosition = Random.insideUnitSphere * RadiusMultiplier;
|
|
gameObject.transform.rotation = Quaternion.identity;
|
|
gameObject.GetComponent<MeshRenderer>().enabled = IsVisible;
|
|
}
|
|
}
|
|
|
|
private void OnValidate()
|
|
{
|
|
IsVisible = isVisible;
|
|
}
|
|
}
|