Пример #1
0
    private IEnumerator OpenDoor()
    {
        var stopTime  = Time.time + lockRotationTime;
        var rotPerSec = -90 / lockRotationTime;
        var time      = Time.time;

        while (time < stopTime)
        {
            yield return(null);

            lockLock.transform.Rotate(lockLock.transform.forward, rotPerSec * (Time.time - time));
            time = Time.time;
        }

        stopTime  = Time.time + doorRotationTime;
        rotPerSec = doorRotationStopAngle / doorRotationTime;
        while (time < stopTime)
        {
            yield return(null);

            door.transform.RotateAround(hinge.position, hinge.up, rotPerSec * (Time.time - time));
            time = Time.time;
        }

        // TODO scene transition
        fountain.EnableElectricity();
    }