class MainframeController extends BaseAnimatedDeviceController
{

	public const override function GetPS() : MainframeControllerPS
	{
		return ( ( MainframeControllerPS )( GetBasePS() ) );
	}

}

class MainframeControllerPS extends BaseAnimatedDeviceControllerPS
{
	protected instanceeditable var m_factName : ComputerQuickHackData;

	protected override function OnActivateDevice( evt : ActivateDevice ) : EntityNotificationType
	{
		super.OnActivateDevice( evt );
		ExecutePSActionWithDelay( ActionSetQuestFact(), this, 20.0 );
		return EntityNotificationType.SendThisEventToEntity;
	}

	protected function ActionSetQuestFact() : FactQuickHack
	{
		var action : FactQuickHack;
		action = new FactQuickHack;
		action.SetUp( this );
		action.AddDeviceName( m_deviceName );
		action.SetProperties( m_factName );
		return action;
	}

	public function OnSetQuestFact( evt : FactQuickHack ) : EntityNotificationType
	{
		UseNotifier( evt );
		return EntityNotificationType.SendThisEventToEntity;
	}

}

