abstract class RagdollTask extends AIbehaviortaskScript
{
}

class CacheAnimationForPotentialRagdoll extends RagdollTask
{
	editable var m_currentBehavior : CName;

	protected export override function Activate( context : ScriptExecutionContext ) {}

	protected export override function Deactivate( context : ScriptExecutionContext )
	{
		ScriptedPuppet.SendActionSignal( ( ( ScriptedPuppet )( ScriptExecutionContext.GetOwner( context ) ) ), m_currentBehavior, 1.0 );
	}

}

class ForceRagdoll extends RagdollTask
{

	protected override function Activate( context : ScriptExecutionContext )
	{
		ScriptExecutionContext.GetOwner( context ).QueueEvent( CreateForceRagdollEvent( 'ForceRagdollTask' ) );
	}

}

class DisableRagdoll extends RagdollTask
{

	protected override function Activate( context : ScriptExecutionContext )
	{
		ScriptExecutionContext.GetOwner( context ).QueueEvent( CreateDisableRagdollEvent( 'DisableRagdollTask' ) );
	}

}

