class SmartWindowController extends ComputerController
{

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

}

class SmartWindowControllerPS extends ComputerControllerPS
{
	default m_deviceName = "LocKey#110";
	default m_tweakDBRecord = T"Devices.SmartWindow";
	default m_tweakDBDescriptionRecord = T"device_descriptions.SmartWindow";

	protected override function GetBannerWidgetTweakDBID() : TweakDBID
	{
		return T"DevicesUIDefinitions.WindowBannerWidget";
	}

	protected override function GetFileThumbnailWidgetTweakDBID() : TweakDBID
	{
		return T"DevicesUIDefinitions.WindowFileThumbnailWidget";
	}

	protected override function GetMailThumbnailWidgetTweakDBID() : TweakDBID
	{
		return T"DevicesUIDefinitions.WindowMailThumbnailWidget";
	}

	protected override function GetFileWidgetTweakDBID() : TweakDBID
	{
		return T"DevicesUIDefinitions.WindowFileWidget";
	}

	protected override function GetMailWidgetTweakDBID() : TweakDBID
	{
		return T"DevicesUIDefinitions.WindowMailWidget";
	}

	protected override function DetermineGameplayViability( const context : ref< GetActionsContext >, hasActiveActions : Bool ) : Bool
	{
		return SmartWindowViabilityInterpreter.Evaluate( this, hasActiveActions );
	}

}

