示例#1
0
 void OnTriggerExit(Collider other)
 {
     if (other.tag == "Player")
     {
         cameraRotation.RotateTo(CameraRotationDirection.ToVector(exitDirection));
     }
 }
示例#2
0
 void OnTriggerStay(Collider other)
 {
     if (other.tag == "Player")
     {
         cameraRotation.RotateTo(CameraRotationDirection.ToVector(targetDirection));
     }
 }
 public void SetRotationDirection(CameraRotationDirection rotationDirection)
 {
     this.rotationDirection = rotationDirection;
 }
    public CameraMoveLocation GetNextMoveDirection(CameraMoveLocation currentDirection, CameraRotationDirection rotationDirection)
    {
        CameraMoveLocation result = CameraMoveLocation.None;

        switch (currentDirection)
        {
        case CameraMoveLocation.Left:
            if (rotationDirection == CameraRotationDirection.Clockwise)
            {
                result = CameraMoveLocation.Top;
            }
            else
            {
                result = CameraMoveLocation.Bottom;
            }
            break;

        case CameraMoveLocation.Right:
            if (rotationDirection == CameraRotationDirection.Clockwise)
            {
                result = CameraMoveLocation.Bottom;
            }
            else
            {
                result = CameraMoveLocation.Top;
            }
            break;

        case CameraMoveLocation.Top:
            if (rotationDirection == CameraRotationDirection.Clockwise)
            {
                result = CameraMoveLocation.Right;
            }
            else
            {
                result = CameraMoveLocation.Left;
            }
            break;

        case CameraMoveLocation.Bottom:
            if (rotationDirection == CameraRotationDirection.Clockwise)
            {
                result = CameraMoveLocation.Left;
            }
            else
            {
                result = CameraMoveLocation.Right;
            }
            break;
        }

        if (!moveLocations.Contains(result))
        {
            result = GetNextMoveDirection(result, rotationDirection);
        }

        return(result);
    }