private IEnumerator Start() { doors = GameObjectExtender.FindChildrenWithName(transform, "Door"); closedRotations = doors.Select(d => d.localRotation).ToArray(); openedRotations = doors.Select(d => d.localRotation * Quaternion.Euler(0f, 90f * d.localScale.x, 0f)).ToArray(); collider = transform.Find("Collider").GetComponent <Collider>(); ceiling = transform.Find("Renderer").gameObject; crystalWalls = transform.Find("Crystals").gameObject; while (true) { StartCoroutine(RotateDoors(openedRotations, false)); yield return(new WaitForSeconds(openingTime * 2f)); StartCoroutine(RotateDoors(closedRotations, true)); yield return(new WaitForSeconds(openingTime * 2f)); } }
public override void Awake() { base.Awake(); bevent = GetComponent <InteractiveEvent>(); var etransform = GameObjectExtender.FindChildWithTag(transform, "Main Material"); if (etransform) { var ecomp = etransform.GetComponent <MeshRenderer>(); if (ecomp) { OrbMaterial = ecomp.material; } var lcomp = etransform.GetComponent <Light>(); if (lcomp) { OrbLight = lcomp; } Deselect(null); } }