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