diff --git a/Assets/Fungus/Tests/Sequence/SequenceTest.unity b/Assets/Fungus/Tests/Sequence/SequenceTest.unity index 6fe3c57f..69adc1fb 100644 Binary files a/Assets/Fungus/Tests/Sequence/SequenceTest.unity and b/Assets/Fungus/Tests/Sequence/SequenceTest.unity differ diff --git a/Assets/Fungus/VisualScripting/MoveCamera.cs b/Assets/Fungus/VisualScripting/MoveCamera.cs new file mode 100644 index 00000000..13d54eba --- /dev/null +++ b/Assets/Fungus/VisualScripting/MoveCamera.cs @@ -0,0 +1,63 @@ +using UnityEngine; +using System; +using System.Collections; + +namespace Fungus.Script +{ + + public class MoveCamera : FungusCommand + { + public enum Transition + { + Move, + Fade + } + + public Transition transition; + public float duration; + public View targetView; + public bool waitUntilFinished = true; + + public override void OnEnter() + { + + Game game = Game.GetInstance(); + + if (waitUntilFinished) + { + game.waiting = true; + } + + if (transition == Transition.Fade) + { + game.cameraController.FadeToView(targetView, duration, delegate { + if (waitUntilFinished) + { + game.waiting = false; + Continue(); + } + }); + } + else if (transition == Transition.Move) + { + Vector3 targetPosition = targetView.transform.position; + Quaternion targetRotation = targetView.transform.rotation; + float targetSize = targetView.viewSize; + + game.cameraController.PanToPosition(targetPosition, targetRotation, targetSize, duration, delegate { + if (waitUntilFinished) + { + game.waiting = false; + Continue(); + } + }); + } + + if (!waitUntilFinished) + { + Continue(); + } + } + } + +} \ No newline at end of file diff --git a/Assets/Fungus/VisualScripting/MoveCamera.cs.meta b/Assets/Fungus/VisualScripting/MoveCamera.cs.meta new file mode 100644 index 00000000..ee89295e --- /dev/null +++ b/Assets/Fungus/VisualScripting/MoveCamera.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8b3057c17923c47bbbbf6dd0d8ecef99 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: