6 [RequireComponent(typeof(MeshRenderer), typeof(MeshFilter))]
9 [SerializeField, Tooltip(
"A reference to the Cavern Camera")]
12 [SerializeField, Tooltip(
"Distance from the screen to render. 0 is purely at the center, 1 is at the boundry"), Min(0)]
13 private float distance = 1.0f;
15 [SerializeField, Tooltip(
"Should the round canvas be automatically positioned around the CAVERN?")]
16 private bool autoposition =
true;
18 private bool shouldUpdateMesh =
false;
25 cavernRenderer.settingsChanged.AddListener(() => shouldUpdateMesh =
true);
33 shouldUpdateMesh =
false;
38 float yOffset = -cavernRenderer.GetCavernHeight() * (distance - 1) / 2;
39 transform.localPosition =
new(transform.localPosition.x, yOffset, transform.localPosition.z);
46 mesh = cavernRenderer.GenerateMesh();
47 mesh.name =
"Round Canvas Mesh";
48 GetComponent<MeshFilter>().mesh = mesh;
49 transform.localScale =
new(distance, distance, distance);
54 shouldUpdateMesh =
true;
58 cavernRenderer = renderer;
void setCavernRenderer(CavernRenderer renderer)