using UnityEngine; namespace Fungus { /// <summary> /// Controller for main camera.Supports several types of camera transition including snap, pan & fade. /// </summary> public interface ICameraController { /// <summary> /// Full screen texture used for screen fade effect. /// </summary> /// <value>The screen fade texture.</value> Texture2D ScreenFadeTexture { set; } /// <summary> /// Perform a fullscreen fade over a duration. /// </summary> void Fade(float targetAlpha, float fadeDuration, System.Action fadeAction); /// <summary> /// Fade out, move camera to view and then fade back in. /// </summary> void FadeToView(Camera camera, View view, float fadeDuration, bool fadeOut, System.Action fadeAction); /// <summary> /// Stop all camera tweening. /// </summary> void Stop(); /// <summary> /// Moves camera from current position to a target position over a period of time. /// </summary> void PanToPosition(Camera camera, Vector3 targetPosition, Quaternion targetRotation, float targetSize, float duration, System.Action arriveAction); /// <summary> /// Activates swipe panning mode. The player can pan the camera within the area between viewA & viewB. /// </summary> void StartSwipePan(Camera camera, View viewA, View viewB, float duration, float speedMultiplier, System.Action arriveAction); /// <summary> /// Deactivates swipe panning mode. /// </summary> void StopSwipePan(); } }