Пример #1
0
    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));
        }
    }
Пример #2
0
    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);
        }
    }