using System;
using System.Collections.Generic;
using System.Text;

namespace Vortex.SceneFramework.Effects {
	
	/// <summary>
	/// Provides domain switch effect context
	/// </summary>
	public interface ISceneSwitchContext {
		/// <summary>
		/// Gets the new domain sprite.
		/// </summary>
		/// <value>The new domain sprite.</value>
		Vortex.Drawing.Sprite NewSceneSprite { get; }

		/// <summary>
		/// Gets the old domain sprite.
		/// </summary>
		/// <value>The old domain sprite.</value>
		Vortex.Drawing.Sprite OldSceneSprite { get; }

		/// <summary>
		/// Gets the total effect time.
		/// </summary>
		/// <value>The total effect time.</value>
		float TotalEffectTime { get; }

		/// <summary>
		/// Gets the effect ellapsed time.
		/// </summary>
		/// <value>The effect ellapsed time.</value>
		float EllapsedTime { get; }

		/// <summary>
		/// Gets the progress of effect.
		/// </summary>
		/// <value>The effect progress. Value in range 0..1.</value>
		float Progress { get; }
	}
}
