class sampleTimeListener extends TimeDilationListener
{
	var myOwner : weak< sampleTimeDilatable >;

	protected event OnFinished( reason : CName )
	{
		myOwner.OnFinished( reason );
	}

	public function SetOwner( owner : sampleTimeDilatable )
	{
		myOwner = owner;
	}

}

class sampleTimeDilatable extends TimeDilatable
{
	var listener : sampleTimeListener;

	protected event OnGameAttached()
	{
		if( !( listener ) )
		{
			listener = new sampleTimeListener;
			listener.SetOwner( this );
		}
	}

	protected event OnInteractionChoice( choice : InteractionChoiceEvent )
	{
		GameInstance.GetTimeSystem( GetGame() ).SetTimeDilation( 'ScriptsDebug', 0.2, 2.0, 'Linear', 'Log', listener );
	}

	protected event OnTimeDilationFinished()
	{
	}

	public function OnFinished( reason : CName )
	{
		if( reason == 'ScriptsDebug' )
		{
		}
	}

}

