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(); for (int i = 0; i < componentsInChildren.Length; i++) { MeshRenderer component = componentsInChildren[i].GetComponent(); 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().enabled = IsVisible; } } private void OnValidate() { IsVisible = isVisible; } }